{
  "guild": {
    "id": "1361349522684510449",
    "name": "wafer.space Community",
    "iconUrl": "2025-11_media/fb143eaa45770cbb40493d09b625e98b-09FD1.png"
  },
  "channel": {
    "id": "1423348662318272592",
    "type": "GuildTextChat",
    "categoryId": "1409664731760955403",
    "category": "\uD83D\uDCD0 - Designing",
    "name": "\uD83D\uDCDD-project-template",
    "topic": "[template-github](https://github.com/wafer-space/gf180mcu-project-template)"
  },
  "dateRange": {
    "after": "2025-10-31T23:59:59.999+00:00",
    "before": "2025-12-01T00:00:00+00:00"
  },
  "exportedAt": "2026-07-09T08:56:49.4682088+00:00",
  "messages": [
    {
      "id": "1434260033691980037",
      "type": "Default",
      "timestamp": "2025-11-01T19:17:19.295+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Getting some *extreme* hold violations when integrating a macro into chip_top that is not present when hardening the macro itself. Checking the logs, the worst slack is simply from the reset pad.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1434260033318682695",
          "url": "2025-11_media/image-91CC9.png",
          "fileName": "image.png",
          "fileSizeBytes": 12436
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434261004640059584",
      "type": "Reply",
      "timestamp": "2025-11-01T19:21:10.787+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Is that in ns? If so, oof. And could it be a bad capacitance extraction on the pads themselves?",
      "author": {
        "id": "323874444344950794",
        "name": "markemer",
        "discriminator": "0000",
        "nickname": "Mark Anderson",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a976ec32aab182dad158688cea0f5724-4A8BE.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1434260033691980037",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1434262926935588874",
      "type": "Default",
      "timestamp": "2025-11-01T19:28:49.098+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That's probably because the macro has its own clock tree. So the clock that its internal FF sees is delayed by many ns compared to the clock on its input pin.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434263095223783486",
      "type": "Default",
      "timestamp": "2025-11-01T19:29:29.221+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If the CTS inside your top level project isn't setup to feed the macro an \"early clock\" (i.e. from the root of its clock tree instead of a leaf), that could explain why you see so many hold violations.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434263338614915323",
      "type": "Default",
      "timestamp": "2025-11-01T19:30:27.25+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(Just a theory of course ... can't do more than theorize without more data)",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434267229641380091",
      "type": "Default",
      "timestamp": "2025-11-01T19:45:54.943+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1434267229360357427",
          "url": "2025-11_media/image-226EA.png",
          "fileName": "image.png",
          "fileSizeBytes": 67642
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434267241695940679",
      "type": "Default",
      "timestamp": "2025-11-01T19:45:57.817+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I don't have a repo for this yet",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434267407622602912",
      "type": "Default",
      "timestamp": "2025-11-01T19:46:37.377+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "There is no CTS in the top level",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434267463641464953",
      "type": "Default",
      "timestamp": "2025-11-01T19:46:50.733+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Actually, there is no standard cells in the top level",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434267496206176286",
      "type": "Default",
      "timestamp": "2025-11-01T19:46:58.497+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Just macros",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434285105123295467",
      "type": "Default",
      "timestamp": "2025-11-01T20:56:56.79+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I guess this calls for a custom SDC file. I started by copying the SDC file provided by efabless for user project macros and will progressively modify it.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434309402193563881",
      "type": "Default",
      "timestamp": "2025-11-01T22:33:29.663+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Literally nothing I do is changing the hold violations. Its refusing to budge.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434577038181662871",
      "type": "Default",
      "timestamp": "2025-11-02T16:16:59.055+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Almost got it. Commit soon. Just trying to clean up my SDC file.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434577181945626694",
      "type": "Default",
      "timestamp": "2025-11-02T16:17:33.331+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What’s the point of `set_driving_cell`? Does it automatically determine slew rates and delays, or do I still need to specify those manually?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434583563667378278",
      "type": "Default",
      "timestamp": "2025-11-02T16:42:54.852+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Doesn’t matter. I cannot `set_driving_cell -lib_cell gf180mcu_fd_io__bi_24t` inside my macro SDC files anyways:",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1434583563730419762",
          "url": "2025-11_media/image-55734.png",
          "fileName": "image.png",
          "fileSizeBytes": 9308
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434605559377825935",
      "type": "Default",
      "timestamp": "2025-11-02T18:10:19.038+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Do you use the LibreLane version from the template or [this branch](https://github.com/librelane/librelane/pull/806)?\nOtherwise the pad cells are not read in.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434607148691750922",
      "type": "Default",
      "timestamp": "2025-11-02T18:16:37.96+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I cannot use the LibreLane version from the template for my macros. Python error.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1434607148381376532",
          "url": "2025-11_media/image-BC7E4.png",
          "fileName": "image.png",
          "fileSizeBytes": 36852
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434607243642404976",
      "type": "Default",
      "timestamp": "2025-11-02T18:17:00.598+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I mean, the PDK Version",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434607507182977086",
      "type": "Default",
      "timestamp": "2025-11-02T18:18:03.431+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The error during GPL I reported before persists, so I cannot use the LibreLane version.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434608290259664957",
      "type": "Default",
      "timestamp": "2025-11-02T18:21:10.131+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But I also don’t understand what `set_driving_cell` even does. Right now my approach has been to determine values to set on `set_input_delay` , `set_clock_latency`, `set_input_transition` and `set_clock_transition` by manually interpreting the values in the liberty files for the IO pads.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434608455112589353",
      "type": "Default",
      "timestamp": "2025-11-02T18:21:49.435+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Except when it comes to the internal bus inside the chip, where I have to rely on STA for numbers.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434608875151163474",
      "type": "Reply",
      "timestamp": "2025-11-02T18:23:29.58+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Actually, it seems fine now, at least on this one macro, but there is still a big difference in behavior.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1434607507182977086",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1434609128352907403",
      "type": "Default",
      "timestamp": "2025-11-02T18:24:29.948+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I just got to `Stage 37 - Resizer Timing Optimizations (Post-Clock Tree Synthesis)` on this CPU macro and on Iteration 0 its starting with a TNS of **-5042** compared to main librelane, where I got -250.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434609145411145881",
      "type": "Default",
      "timestamp": "2025-11-02T18:24:34.015+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I changed nothing about the config.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434609175060807761",
      "type": "Default",
      "timestamp": "2025-11-02T18:24:41.084+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Just switched LL versions.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434623827673088214",
      "type": "Default",
      "timestamp": "2025-11-02T19:22:54.539+00:00",
      "timestampEdited": "2025-11-02T19:23:05.27+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah, I’m getting severe performance degradation in the wafer.space template LL version in two ways. The timings of the design are worse, and also the flows take forever to run. After one hour, it is still stuck in Timing Optimizations. This whole flow used to take < 15 minutes. @Leo Moser (mole99)",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1434699626266628247",
      "type": "Default",
      "timestamp": "2025-11-03T00:24:06.332+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) This page linked in the README of the template no longer exists.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1434699626002382878",
          "url": "2025-11_media/image-C502E.png",
          "fileName": "image.png",
          "fileSizeBytes": 26481
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1434699690670293082",
      "type": "Default",
      "timestamp": "2025-11-03T00:24:21.687+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1434699690364112947",
          "url": "2025-11_media/image-6E9A7.png",
          "fileName": "image.png",
          "fileSizeBytes": 28745
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1434803442999758869",
      "type": "Reply",
      "timestamp": "2025-11-03T07:16:38.17+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The wafer.space gf180mcu PDK requires the LibreLane version in the template (or from the branch).",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1434607243642404976",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1434803668594458634",
      "type": "Reply",
      "timestamp": "2025-11-03T07:17:31.956+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The issue is still open at OpenROAD's side: https://github.com/The-OpenROAD-Project/OpenROAD/issues/8229\nHowever, as mentioned before, you can simply disable timing driven placement.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1434607507182977086",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1434803878431428668",
      "type": "Reply",
      "timestamp": "2025-11-03T07:18:21.985+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "`set_driving_cell` automates exactly that. It takes the values directly from the LIB.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1434608290259664957",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1434804194950385685",
      "type": "Reply",
      "timestamp": "2025-11-03T07:19:37.449+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks for reminding me. The LibreLane docs have recently been updated.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1434699626266628247",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1434817588004651058",
      "type": "Reply",
      "timestamp": "2025-11-03T08:12:50.602+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thank you. I could find 0 information about this command online.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1434803878431428668",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1434820197088235530",
      "type": "Default",
      "timestamp": "2025-11-03T08:23:12.656+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://github.com/The-OpenROAD-Project/OpenSTA/blob/master/doc/OpenSTA.pdf",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "OpenSTA/doc/OpenSTA.pdf at master · The-OpenROAD-Project/OpenSTA",
          "url": "https://github.com/The-OpenROAD-Project/OpenSTA/blob/master/doc/OpenSTA.pdf",
          "timestamp": null,
          "description": "OpenSTA engine. Contribute to The-OpenROAD-Project/OpenSTA development by creating an account on GitHub.",
          "color": "#1E2327",
          "thumbnail": {
            "url": "2025-11_media/OpenSTA-8A0D3",
            "width": 1200,
            "height": 600
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004359841681409",
      "type": "Default",
      "timestamp": "2025-11-03T20:35:00.478+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "This is the ✨ magic ✨ line for the `gf180mcu_fd_ip_sram__sram512x8m8wm1` SRAM:\n\n```\nadd_pdn_stripe -grid macro -layer Metal4 -width 2.36 -offset 1.18 -spacing 0.28 -pitch 426.86 -starts_with GROUND -number_of_straps 2\n```\n\nIt adds a power/ground pair on each side of the SRAM macro, directly above the pins. Since this uses the local coordinate system of the macro, you can move the macro around as you wish, the PDN straps will follow. As the PDN straps go all the way across the macro, connecting them to the PDN above is very easy.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "✨",
            "code": "sparkles",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2728-DCB65.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "537091611323007003",
              "name": "aedancullen",
              "discriminator": "0000",
              "nickname": "aedancullen",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/fc1bc9aef8b4b153a5765fb1d45f5241-983A5.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDCAF",
            "code": "100",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f4af-4CFF5.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "274535015969456128",
              "name": "greg.hashtag.9468",
              "discriminator": "0000",
              "nickname": "Greg",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004439797956719",
      "type": "Default",
      "timestamp": "2025-11-03T20:35:19.541+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(top left)",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [
        {
          "id": "1435004439437115454",
          "url": "2025-11_media/Bildschirmfoto_vom_2025-11-03_21-13-08-89A4F.png",
          "fileName": "Bildschirmfoto_vom_2025-11-03_21-13-08.png",
          "fileSizeBytes": 28658
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004487654969427",
      "type": "Default",
      "timestamp": "2025-11-03T20:35:30.951+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(top right)",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [
        {
          "id": "1435004487117832322",
          "url": "2025-11_media/Bildschirmfoto_vom_2025-11-03_21-13-33-4F47A.png",
          "fileName": "Bildschirmfoto_vom_2025-11-03_21-13-33.png",
          "fileSizeBytes": 18116
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004532836008006",
      "type": "Default",
      "timestamp": "2025-11-03T20:35:41.723+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If you rotate the SRAM by 90 or 270 degrees, you need to use this line:\n\n```\nadd_pdn_stripe -grid sram_macros_WE -layer Metal4 -width 2.36 -offset 1.18 -spacing 0.28 -pitch 479.88 -starts_with GROUND -number_of_straps 2\n```\n\nUnfortunately, the connection to VSS is not as good on the right side. It is better to use the first orientation.\n\nDon't forget the PDN connect:\n\n```\nadd_pdn_connect \\\n    -grid macro \\\n    -layers \"$::env(PDN_VERTICAL_LAYER) Metal3\"\n```",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004562065850599",
      "type": "Default",
      "timestamp": "2025-11-03T20:35:48.692+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [
        {
          "id": "1435004561549955103",
          "url": "2025-11_media/Bildschirmfoto_vom_2025-11-03_21-30-41-0737D.png",
          "fileName": "Bildschirmfoto_vom_2025-11-03_21-30-41.png",
          "fileSizeBytes": 206870
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004601316151296",
      "type": "Default",
      "timestamp": "2025-11-03T20:35:58.05+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Now I just need to make magic DRC happy, and then I can push the the example usage of the SRAM to the template repo.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004633788715160",
      "type": "Default",
      "timestamp": "2025-11-03T20:36:05.792+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Awesome",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004753900732638",
      "type": "Default",
      "timestamp": "2025-11-03T20:36:34.429+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I re-used my setup from GFMPW with a wrapper macro for the SRAM that just added the Metal4 strips.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435004839334641674",
      "type": "Default",
      "timestamp": "2025-11-03T20:36:54.798+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Which is not optimal",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435005053751525518",
      "type": "Default",
      "timestamp": "2025-11-03T20:37:45.919+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Well, if I remember correctly, Efabless used your solution too :)",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435005104637087744",
      "type": "Default",
      "timestamp": "2025-11-03T20:37:58.051+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah. That’s where I got it from.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435007091634081833",
      "type": "ThreadCreated",
      "timestamp": "2025-11-03T20:45:51.788+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1435007091634081833",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1435507284083216394",
      "type": "Default",
      "timestamp": "2025-11-05T05:53:26.961+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I've setup a new system following the readme. And then just run the stock template as a sanity check, it does complete. But I'm seeing KLayout DRC errors. (along with timing/cap/slew warnings at some corners)\n```\n...\n    \"DM4.8\": 0,\n    \"DF.12\": 3,\n    \"NW.2b_MV\": 16,\n    \"DPF.4\": 38,\n    \"DCF.4\": 48,\n    \"total\": 105\n}\n```\nIs this expected? Or does it indicate something I should debug with my environment first?",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1435533621879636013",
      "type": "ThreadCreated",
      "timestamp": "2025-11-05T07:38:06.381+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1435507284083216394",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1435939978277289994",
      "type": "Default",
      "timestamp": "2025-11-06T10:32:49.296+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": true,
      "content": "\uD83D\uDCE2 It's update time!\n\nThe project template has been updated with support for the foundry SRAMs!\nTwo SRAMs of type `sram512x8m8wm1` are instantiated in `chip_core` and placed inside the chip in two different orientations (north and east).\nIf you add more SRAMs, make sure to update the LibreLane config (`librelane/config.yaml`) and the PDN configuration (`librelane/pdn_cfg.tcl`).\n\nIn addition, an issue has been fixed with filler generation, the way how the KLayout DRC deck was invoked (connectivity rules), and an error in the seal ring generator. With these changes the template is now DRC clean for both the magic and KLayout DRC deck.\nFurthermore, the design is LVS clean and the there are no setup and hold violations for this example.\n\nPlease update your projects to the latest template, and don't forget to update the PDK as well (`make clone-pdk`).\nLet me know if you have any questions.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "1426598702289780918",
            "name": "waferspace",
            "code": "waferspace",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1426598702289780918-5942F.png"
          },
          "count": 5,
          "users": [
            {
              "id": "228329196504481793",
              "name": "nxmq99",
              "discriminator": "0000",
              "nickname": "nxmq99",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a894465ce64c0d99a11e309c80c403db-DA6C3.png"
            },
            {
              "id": "537091611323007003",
              "name": "aedancullen",
              "discriminator": "0000",
              "nickname": "aedancullen",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/fc1bc9aef8b4b153a5765fb1d45f5241-983A5.png"
            },
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            },
            {
              "id": "691780627338625077",
              "name": "rebelmike",
              "discriminator": "0000",
              "nickname": "RebelMike",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
            },
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "anfroholic",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "537091611323007003",
              "name": "aedancullen",
              "discriminator": "0000",
              "nickname": "aedancullen",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/fc1bc9aef8b4b153a5765fb1d45f5241-983A5.png"
            },
            {
              "id": "738396032295108721",
              "name": "bailey8889",
              "discriminator": "0000",
              "nickname": "bailey",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/0-EB806.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "169786952432746498",
              "name": "mithro_",
              "discriminator": "0000",
              "nickname": "Tim 'mithro' Ansell",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDCE2",
          "code": "loudspeaker",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f4e2-C9D9D.svg"
        }
      ]
    },
    {
      "id": "1436124590433898517",
      "type": "Default",
      "timestamp": "2025-11-06T22:46:24.264+00:00",
      "timestampEdited": "2025-11-06T22:46:28.404+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Updated my AS2650v2 wafer.space port to use the new method for instantiating SRAMs.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC9C",
            "code": "purple_heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f49c-71A75.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "anfroholic",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1436124616027541604",
      "type": "Default",
      "timestamp": "2025-11-06T22:46:30.366+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Works!",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1436230350459113503",
      "type": "Default",
      "timestamp": "2025-11-07T05:46:39.419+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Great to hear \uD83D\uDC4F\uD83C\uDFFB",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDC4F",
          "code": "clap",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f44f-3D381.svg"
        },
        {
          "id": "",
          "name": "\uD83C\uDFFB",
          "code": "\uD83C\uDFFB",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f3fb-E58B7.svg"
        }
      ]
    },
    {
      "id": "1436325234985930822",
      "type": "ChannelPinnedMessage",
      "timestamp": "2025-11-07T12:03:41.653+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Pinned a message.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1435939978277289994",
        "channelId": "1423348662318272592",
        "guildId": null
      },
      "inlineEmojis": []
    },
    {
      "id": "1436325351360954449",
      "type": "Default",
      "timestamp": "2025-11-07T12:04:09.399+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) - Has performance / RAM usage changed much in the latest updates?",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1436330854979731617",
      "type": "Reply",
      "timestamp": "2025-11-07T12:26:01.564+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "RAM usage has gone down drastically during the filler generation step after I fixed a bug there. However, that was already before this update.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1436325351360954449",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1439926964969275474",
      "type": "Default",
      "timestamp": "2025-11-17T10:35:40.998+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "How long does the template build (default) take for people ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1439927022875967528",
      "type": "Default",
      "timestamp": "2025-11-17T10:35:54.804+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Just wondering if my vm is slow or something ...",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1439927826559270964",
      "type": "Default",
      "timestamp": "2025-11-17T10:39:06.417+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The CI takes around 50mins without DRC: https://github.com/wafer-space/gf180mcu-project-template/actions/runs/19297076321/job/55181634117\nLocally, it's faster for me. The DRC can then take an additional 1–1.5 hours.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1439972280255119401",
      "type": "Default",
      "timestamp": "2025-11-17T13:35:45.004+00:00",
      "timestampEdited": "2025-11-17T13:36:04+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Here full run took 3h30 \uD83D\uDE05 \nLooking at timestamps, klayout drc was 2h 48 min of that.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1439972534648049805",
      "type": "Default",
      "timestamp": "2025-11-17T13:36:45.656+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What? My top-level DRC runs don't take nearly as long.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1439972729301372988",
      "type": "Default",
      "timestamp": "2025-11-17T13:37:32.065+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm also still struggling with analog pads not getting wired up.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1439983108387504268",
      "type": "Reply",
      "timestamp": "2025-11-17T14:18:46.632+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Just had a full run (inlcuding DRC) in 48:05 using the template \uD83D\uDE01",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1439972280255119401",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE01",
          "code": "grin",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f601-4E9BD.svg"
        }
      ]
    },
    {
      "id": "1439983731615072389",
      "type": "Default",
      "timestamp": "2025-11-17T14:21:15.221+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Huh ... that's worrying ...",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440038098594431016",
      "type": "Default",
      "timestamp": "2025-11-17T17:57:17.319+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Something changed. KLayout DRC is so much slower now.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440052055824929002",
      "type": "Reply",
      "timestamp": "2025-11-17T18:52:44.982+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "There haven't been changes to the PDK for two weeks: https://github.com/wafer-space/gf180mcu\nAlthough a number of changes are coming up.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "GitHub - wafer-space/gf180mcu: Temporary development repository for...",
          "url": "https://github.com/wafer-space/gf180mcu",
          "timestamp": null,
          "description": "Temporary development repository for the gf180mcuD PDK variant. - wafer-space/gf180mcu",
          "color": "#1E2327",
          "thumbnail": {
            "url": "2025-11_media/gf180mcu-6FE46",
            "width": 1200,
            "height": 600
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1440038098594431016",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440088467034869820",
      "type": "Default",
      "timestamp": "2025-11-17T21:17:26.091+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And why are my analog signals not getting routed?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1440088466447929354",
          "url": "2025-11_media/image-C20A2.png",
          "fileName": "image.png",
          "fileSizeBytes": 6504
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440092074958393345",
      "type": "Default",
      "timestamp": "2025-11-17T21:31:46.287+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I CTRL+F’d for \"analog\" in the global routing logs and found nothing. Its skipping it.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440092580753969342",
      "type": "Default",
      "timestamp": "2025-11-17T21:33:46.878+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Are they defined any differently in your netlist ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440092978302685365",
      "type": "Default",
      "timestamp": "2025-11-17T21:35:21.661+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "No",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440302165473103977",
      "type": "Default",
      "timestamp": "2025-11-18T11:26:35.769+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Z80 design is finally green on github \\o/\n@Leo Moser (mole99) is there a way to download artifacts / GDS from github job for local inspection? *I feel quite dumb for asking, but I couldn't figure how to do it so far*",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [
        {
          "id": "1440302165301264457",
          "url": "2025-11_media/image-95F6F.png",
          "fileName": "image.png",
          "fileSizeBytes": 12512
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1440303048307114004",
      "type": "Default",
      "timestamp": "2025-11-18T11:30:06.253+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ah, when building locally on Mac it is necessary to increase file-descriptor count otherwise Magic streamout fails `ulimit -n 1024`",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440303545113907371",
      "type": "Default",
      "timestamp": "2025-11-18T11:32:04.701+00:00",
      "timestampEdited": "2025-11-18T11:33:05.605+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) I tried to add `ulimit` to flake.nix as shell hook, but failing so far even with ChatGPT *\"help\"* \uD83D\uDE13",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE13",
          "code": "sweat",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f613-6F24E.svg"
        }
      ]
    },
    {
      "id": "1440306419986464939",
      "type": "Reply",
      "timestamp": "2025-11-18T11:43:30.124+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Hi ReJ! Congrats \uD83D\uDC4F\nJust so you know, the CI only runs the implementation, as the DRC requires too much memory. So you need to make sure to run DRC locally.\n\nYes, there are ways to upload artifacts: https://docs.github.com/en/actions/tutorials/store-and-share-data\nI haven't added this to the CI yet since I though it would quicky fill up the available storage space. But perhaps with a compression of the artifacts and a short retention time, it could be fine?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "reference": {
        "messageId": "1440302165473103977",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDC4F",
          "code": "clap",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f44f-3D381.svg"
        }
      ]
    },
    {
      "id": "1440307007667179520",
      "type": "Default",
      "timestamp": "2025-11-18T11:45:50.238+00:00",
      "timestampEdited": "2025-11-18T11:46:45.662+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "For some reason I get hold violations when I build locally (MacOS could be a problem here \uD83D\uDE09 ), but it is fine building on github. Investigating atm.",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE09",
          "code": "wink",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f609-9EC67.svg"
        }
      ]
    },
    {
      "id": "1440310351068663981",
      "type": "Reply",
      "timestamp": "2025-11-18T11:59:07.367+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The Nix flake in the template uses LibreLane's create-shell: https://github.com/librelane/librelane/blob/dev/nix/create-shell.nix\nIt seems that mkShell has a `shellHook` that could be used for that. However, I'm not sure how to override this from the template.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "reference": {
        "messageId": "1440303048307114004",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440311244614668360",
      "type": "Reply",
      "timestamp": "2025-11-18T12:02:40.405+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Strange. There may be slight differences between the Linux and mac version of OpenROAD. If your hold violations are only just over the limit, perhaps that could make the difference.\nMake sure your clock tree is good, and you could increase the `PL_RESIZER_HOLD_SLACK_MARGIN`.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "reference": {
        "messageId": "1440307007667179520",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440315995083374673",
      "type": "Default",
      "timestamp": "2025-11-18T12:21:33.005+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "All of my configs contain\n```\nGRT_RESIZER_HOLD_SLACK_MARGIN: 0.1\nPL_RESIZER_HOLD_SLACK_MARGIN: 0.1\nPL_RESIZER_HOLD_MAX_BUFFER_PCT: 100\n```\nby default now since I had hold violations screw me over before.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440322064731865170",
      "type": "Default",
      "timestamp": "2025-11-18T12:45:40.122+00:00",
      "timestampEdited": "2025-11-18T12:45:53.411+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@ReJ aka Renaldas Zioma If you're just running a batch job with no editing, you probably don't need file locking. Disabling this with the magic command `locking disable` may allow you to load large designs without changing the ulimit. http://opencircuitdesign.com/magic/commandref/locking.html",
      "author": {
        "id": "738396032295108721",
        "name": "bailey8889",
        "discriminator": "0000",
        "nickname": "bailey",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/0-EB806.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1440366765631737987",
      "type": "Default",
      "timestamp": "2025-11-18T15:43:17.647+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Is it expected to get some antenna violations from building the project template?\n```\n* Antenna\nFailed \uD800\uDD02\nPin violations: 17\nNet violations: 11\nCheck the report directory of OpenROAD.CheckAntennas.\n```\n\nchecking the CI run here I do see the same violations: https://github.com/wafer-space/gf180mcu-project-template/actions/runs/19297076321/job/55181634117",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "Remove `set_driving_cell` from SDC file · wafer-space/gf180mcu-pro...",
          "url": "https://github.com/wafer-space/gf180mcu-project-template/actions/runs/19297076321/job/55181634117",
          "timestamp": null,
          "description": "Project template for wafer.space MPW runs using the gf180mcu PDK - Remove `set_driving_cell` from SDC file · wafer-space/gf180mcu-project-template@9b6c284",
          "color": "#1E2327",
          "thumbnail": {
            "url": "2025-11_media/gf180mcu-project-template-DF039",
            "width": 1200,
            "height": 600
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440367730724180058",
      "type": "Default",
      "timestamp": "2025-11-18T15:47:07.743+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440367858734333963",
      "type": "Default",
      "timestamp": "2025-11-18T15:47:38.263+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ok, thanks \uD83D\uDE42 are they concerning or just something to waive?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1440373072594075779",
      "type": "Default",
      "timestamp": "2025-11-18T16:08:21.344+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That is something that requires a closer look into OpenROAD and LibreLane in order to find a proper solution. For large ratios you can manually insert ECO diodes.\n\nSo far, most (all?) Tiny Tapeout designs seem to work just fine, and almost all of them have some antenna violations.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440373327947497514",
      "type": "Default",
      "timestamp": "2025-11-18T16:09:22.225+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Search for `INSERT_ECO_DIODES` in https://librelane.readthedocs.io/en/latest/reference/step_config_vars.html",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440392460374380674",
      "type": "Default",
      "timestamp": "2025-11-18T17:25:23.751+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks, I guess I'll worry about that later then \uD83D\uDE05",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE01",
            "code": "grin",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f601-4E9BD.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1440392594667339807",
      "type": "Default",
      "timestamp": "2025-11-18T17:25:55.769+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "In `chip_core.sv` in the example project, why does it have `keep` attributes on the SRAM? Are they just left in from initial hacking or are they required?\n\n```\n    logic [7:0] sram_0_out;\n\n    (* keep *)\n    gf180mcu_fd_ip_sram__sram512x8m8wm1 sram_0 (\n        `ifdef USE_POWER_PINS\n        .VDD  (VDD),\n        .VSS  (VSS),\n        `endif\n\n        .CLK  (clk),\n        .CEN  (1'b1),\n        .GWEN (1'b0),\n        .WEN  (8'b0),\n        .A    ('0),\n        .D    ('0),\n        .Q    (sram_0_out)\n    );\n```",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440392850616483881",
      "type": "Default",
      "timestamp": "2025-11-18T17:26:56.792+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I will happily cargo cult it into my own memory wrappers, I was just curious",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440393268373356554",
      "type": "Reply",
      "timestamp": "2025-11-18T17:28:36.393+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The former. You should be able to remove the `(* keep *)` and since Yosys sees that the outputs of the macro are being used, it will keep it. I'll remove it the next time I push another change to the template :)",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1440392594667339807",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440393372199162037",
      "type": "Default",
      "timestamp": "2025-11-18T17:29:01.147+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ok nice thanks, I thought that would be the case but wasn't sure if there were hidden gotchas",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440393685962588261",
      "type": "Default",
      "timestamp": "2025-11-18T17:30:15.954+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "flow related question (if the answer is \"RTFM\" I can attempt to do that): in our ASIC flow at work, if I hand-instantiate a cell then the buffer width can be changed during layout but otherwise it'll remain the same cell with the same hierarchical path. Is that the case here or do I need to add `(* dont_touch keep *)` etc to my cell wrappers?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440394697498562761",
      "type": "Default",
      "timestamp": "2025-11-18T17:34:17.123+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Cell attributes are currently not retained. You can set `SYNTH_WRITE_NOATTR` to false and they should be passed on to OpenROAD.\nHowever, there's `RSZ_DONT_TOUCH_RX` and `RSZ_DONT_TOUCH_LIST` if you want to keep a cell or net untouched.\nI think if you just set the `(* keep *)` attribute on a stdcell, Yosys will instantiate the stdcell and OpenROAD is free to change it's buffer width.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440394841656922294",
      "type": "Default",
      "timestamp": "2025-11-18T17:34:51.493+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "nice, thanks",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440395016152416287",
      "type": "Default",
      "timestamp": "2025-11-18T17:35:33.096+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "so it sounds like just putting `(* keep *)` on my cells is what I want; quite happy for the tools to change the drive as I don't fancy going and fixing all the transition violations myself \uD83D\uDE42",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1440397289217855501",
      "type": "Reply",
      "timestamp": "2025-11-18T17:44:35.037+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "FYI time driven placement (enabled by default) ignores the `RSZ_DONT_TOUCH_*` setting and resizes the cells nonetheless. You can work around it by setting `PL_TIME_DRIVEN` to 0.",
      "author": {
        "id": "543162393413287956",
        "name": "h.tamas",
        "discriminator": "0000",
        "nickname": "htamas",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/1-B2132.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1440394697498562761",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440397970099929261",
      "type": "Reply",
      "timestamp": "2025-11-18T17:47:17.372+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, that is actually a \"bug\" in LibreLane as `dont_touch` does not prevent placement. So we could actually keep the attribute throughout GPL. See here: https://github.com/librelane/librelane/issues/695",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "543162393413287956",
          "name": "h.tamas",
          "discriminator": "0000",
          "nickname": "htamas",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/1-B2132.png"
        }
      ],
      "reference": {
        "messageId": "1440397289217855501",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440439604451872871",
      "type": "Default",
      "timestamp": "2025-11-18T20:32:43.775+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Some incredibly minor DRCs (SRAM VDD/VSS *completely unconnected* while I figure out how the hierarchical paths are escaped) but in theory here is a processor, JTAG and 4 kB of RAM. Thanks for making the template, it made it super fast to get started \uD83D\uDE04",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [
        {
          "id": "1440439604229570622",
          "url": "2025-11_media/image-DCA97.png",
          "fileName": "image.png",
          "fileSizeBytes": 909883
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 3,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "anfroholic",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "274535015969456128",
              "name": "greg.hashtag.9468",
              "discriminator": "0000",
              "nickname": "Greg",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
            },
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "polyfractal",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE04",
          "code": "smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f604-BF863.svg"
        }
      ]
    },
    {
      "id": "1440440213775319162",
      "type": "Default",
      "timestamp": "2025-11-18T20:35:09.049+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Also I may have mixed up the SRAM dimensions and there is only a 15 um routing channel between the two rows \uD83E\uDD14",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83E\uDD14",
          "code": "thinking",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f914-15707.svg"
        }
      ]
    },
    {
      "id": "1440475988063424522",
      "type": "Default",
      "timestamp": "2025-11-18T22:57:18.304+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm guessing it's expected that the `librelane-magicdrc` makefile target crashes out during klayout/magic XOR, since klayout was skipped?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440476423059013804",
      "type": "Default",
      "timestamp": "2025-11-18T22:59:02.015+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "i.e.\n\n```\nReading /home/luke/proj/riscboy-180/librelane/runs/RUN_2025-11-18_22-06-42/56-magic-streamout/chip_top.magic.gds ..\nERROR: In /nix/store/g3fml7j9yabcq2cmqm5yh19fxrm1h919-python3-3.12.10-env/lib/python3.12/site-packages/librelane/scripts/klayout/xor.drc: 'source': Stream has unknown format: /home/luke/proj/riscboy-180/librelane/runs/RUN_2025-11-18_22-06-42/56-magic-streamout/chip_top.magic.gds in Layout::read\nTotal elapsed: 0.010s  Memory: 413.00M\nERROR: RuntimeError: 'source': Stream has unknown format: /home/luke/proj/riscboy-180/librelane/runs/RUN_2025-11-18_22-06-42/56-magic-streamout/chip_top.magic.gds in Layout::read in Executable::execute\n  /nix/store/g3fml7j9yabcq2cmqm5yh19fxrm1h919-python3-3.12.10-env/lib/python3.12/site-packages/librelane/scripts/klayout/xor.drc:78:in `execute'\n  :/built-in-macros/drc_interpreters.lym:31:in `instance_eval'\n  :/built-in-macros/drc_interpreters.lym:31:in `execute'\n/home/luke/proj/riscboy-180/librelane/runs/RUN_2025-11-18_22-06-42/56-magic-streamout/chip_top.magic.gds\n/home/luke/proj/riscboy-180/librelane/runs/RUN_2025-11-18_22-06-42/57-klayout-streamout/chip_top.klayout.gds\n```\n\nif it's a known issue with that target then I won't bother debugging \uD83D\uDE42",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1440478026574856404",
      "type": "Default",
      "timestamp": "2025-11-18T23:05:24.323+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Does this YAML config go anywhere other than `chip_top.sdc`?\n\n```\n# Clock\nCLOCK_PORT: clk_PAD\nCLOCK_NET: clk_pad/Y\n\nCLOCK_PERIOD: 40 # 25 MHz\n```\n\nI saw the warning about multiple clocks in there but hoping I can just ignore that and write a normal `.sdc` file.",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440602669537558573",
      "type": "ThreadCreated",
      "timestamp": "2025-11-19T07:20:41.521+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1440476423059013804",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440603218169172058",
      "type": "Reply",
      "timestamp": "2025-11-19T07:22:52.325+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "From what I know, this is only passed on to the SDC file.\nYes, you should be able to fully customize your SDC.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1440478026574856404",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440610129904009306",
      "type": "Reply",
      "timestamp": "2025-11-19T07:50:20.211+00:00",
      "timestampEdited": "2025-11-19T07:50:32.433+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "DRC is passing (minus some antenna violations).\nTiny Z80 looks so lonely in there.",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [
        {
          "id": "1440610129694167182",
          "url": "2025-11_media/Pasted_Graphic_12-0D70E.png",
          "fileName": "Pasted_Graphic_12.png",
          "fileSizeBytes": 333407
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "887819464941391932",
            "name": "blobclap",
            "code": "blobclap",
            "isAnimated": true,
            "imageUrl": "2025-11_media/887819464941391932-9625C.gif"
          },
          "count": 4,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            },
            {
              "id": "732347216412278825",
              "name": "urish",
              "discriminator": "0000",
              "nickname": "urish",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1440306419986464939",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440611454196776984",
      "type": "Default",
      "timestamp": "2025-11-19T07:55:35.947+00:00",
      "timestampEdited": "2025-11-19T07:57:08.116+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99)  However I ran into some problems with `gf180mcu-precheck` repository. It:\n- crashes on my Ubuntu machine (*perhaps running out of memory, investigating*) during the Density check\n- fails to find qrcode library on OSX machine (*Error: Couldn't load the qrcode library.  *)",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1440612198236950558",
      "type": "Reply",
      "timestamp": "2025-11-19T07:58:33.34+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Congrats! \uD83D\uDC4F\nYou did enable the environment within the precheck, right?\nBecause I specifically request the `qrcode` Python module \uD83D\uDE05\nhttps://github.com/wafer-space/gf180mcu-precheck/blob/1b639dff3d87a50e0759541701c7d162e1765630/flake.nix#L47",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "reference": {
        "messageId": "1440610129904009306",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDC4F",
          "code": "clap",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f44f-3D381.svg"
        },
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1440613393382768740",
      "type": "Reply",
      "timestamp": "2025-11-19T08:03:18.285+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah, this might be the problem `pkgs.stdenv.isLinux`",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE06",
            "code": "laughing",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f606-BE94E.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1440612198236950558",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440613812658110546",
      "type": "Default",
      "timestamp": "2025-11-19T08:04:58.248+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You're absolutely right! It's a leftover from a different flake, I completely overlooked it.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440613881881038952",
      "type": "Default",
      "timestamp": "2025-11-19T08:05:14.752+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Pushing a fix shortly...",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440614893429592084",
      "type": "Default",
      "timestamp": "2025-11-19T08:09:15.924+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@ReJ aka Renaldas Zioma You can give it another try now.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1440657952662098023",
      "type": "Reply",
      "timestamp": "2025-11-19T11:00:22.045+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Worked like a charm. Precheck passed!",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83E\uDD73",
            "code": "partying_face",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f973-88B39.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1440614893429592084",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440717107729006732",
      "type": "Default",
      "timestamp": "2025-11-19T14:55:25.712+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "is there an additional log to get more information about librelane build failures? Trying a test build of what I have to see the end-to-end workflow, and it's failing to wire up power pins to my sram macos (deep in the bowels of my project)\n\n```\nConnecting power net VDD to i_chip_core.u_core.tta_0.lsu_fu_0.sram_512x32_0.gf180mcu_fd_ip_sram__sram512x8m8wm1_0/VDD…\n[INFO] Made 0 connections.\n[06:50:13] ERROR    The following error was encountered while running the flow:  __main__.py:189 \n    Odb.SetPowerConnections failed with the following errors:\n         add_global_connections failed to make any connections for 'i_chip_core.u_core.tta_0.lsu_fu_0.sram_512x32_0.gf180mcu_fd_ip_sram__sram512x8m8wm1_0/VDD' to VDD. \n```\n\nI've gone through and added the conditional stuff where needed\n```\n`ifdef USE_POWER_PINS\n.VDD  (VDD),\n.VSS  (VSS),\n`endif\n```",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440718077145780338",
      "type": "Default",
      "timestamp": "2025-11-19T14:59:16.839+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah... yosys is deleting my sram module (and a bunch of other stuff)\n\n`Deleting now unused module tta::sram::sram_512x32.  `",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440718373267968030",
      "type": "Default",
      "timestamp": "2025-11-19T15:00:27.44+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ok new question.... why? \uD83D\uDE02  I know there's a \"keep\" annotation to force it, but I don't think any of this is dead code? but I have no idea how synthesizing works",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE02",
          "code": "joy",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f602-168C5.svg"
        }
      ]
    },
    {
      "id": "1440718399096488086",
      "type": "Reply",
      "timestamp": "2025-11-19T15:00:33.598+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can find all log files and artifacts in the `librelane/runs/*` directory.\nMaking the power connections in the RTL is one way, the other is to use `PDN_MACRO_CONNECTIONS`.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC40",
            "code": "eyes",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f440-6C64D.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1440717107729006732",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440718587252703373",
      "type": "Default",
      "timestamp": "2025-11-19T15:01:18.458+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "aha! `PDN_MACRO_CONNECTIONS` looks much more convenient",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440718760406421585",
      "type": "Reply",
      "timestamp": "2025-11-19T15:01:59.741+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, if Yosys removes the SRAM instances, it's because it recognises that none of the outputs are being used. Optoimizing it away \uD83D\uDE01",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1440718373267968030",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE01",
          "code": "grin",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f601-4E9BD.svg"
        }
      ]
    },
    {
      "id": "1440718835069227210",
      "type": "Default",
      "timestamp": "2025-11-19T15:02:17.542+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "So there is probably an issue in your RTL.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440719811884744905",
      "type": "Default",
      "timestamp": "2025-11-19T15:06:10.433+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "hm, it seems to be deleting basically my entire project \uD83D\uDE04",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [
        {
          "id": "1440719811649867907",
          "url": "2025-11_media/image-5CCBB.png",
          "fileName": "image.png",
          "fileSizeBytes": 24122
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE04",
          "code": "smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f604-BF863.svg"
        }
      ]
    },
    {
      "id": "1440720685709393920",
      "type": "Default",
      "timestamp": "2025-11-19T15:09:38.769+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "if a module doesn't have an output, does it get optimized away? I've only wired up inputs to my processor so far (clock, reset, uart loading, etc). so it can run programs but no output",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440721609139818540",
      "type": "Default",
      "timestamp": "2025-11-19T15:13:18.932+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes. Yosys checks input to output paths to see what it can optimize away, in my experience.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440721681357476024",
      "type": "Default",
      "timestamp": "2025-11-19T15:13:36.15+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If it sees 0 outputs, it just goes \"this whole design is just void\"",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440721771828478092",
      "type": "Default",
      "timestamp": "2025-11-19T15:13:57.72+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "argh",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440721786349162567",
      "type": "Default",
      "timestamp": "2025-11-19T15:14:01.182+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "gotcha, thanks!",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440732179671027742",
      "type": "Default",
      "timestamp": "2025-11-19T15:55:19.143+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "wired in a temporary output, got the ball moving again! Just to confirm, it looks like the sram macros have to be placed manually on the die? (I see the placement stuff in pdn_cfg.tcl for the two macros in the demo chip_top)",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440732347073826957",
      "type": "Default",
      "timestamp": "2025-11-19T15:55:59.055+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "and in the config toml",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440732937166524478",
      "type": "Default",
      "timestamp": "2025-11-19T15:58:19.744+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes exactly. Placement is defined in `config.yaml` and connection to PDN in `pdn_cfg.tcl`.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440733407674896454",
      "type": "Default",
      "timestamp": "2025-11-19T16:00:11.922+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "great, thank you! out of curiosity, is there a reason placements are done by hand instead of being auto-placed by librelane? because they are so large you want a human to do it?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440734102645903411",
      "type": "Default",
      "timestamp": "2025-11-19T16:02:57.616+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(entirely new to this whole world, so lacking a lot of background context \uD83D\uDE42 )",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1440738136282894538",
      "type": "Default",
      "timestamp": "2025-11-19T16:18:59.31+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "No problem! In our case, manual placement is mostly fine, since there are only a handful of SRAM macros to place.\nThere was some effort to integrate OpenROAD's automatic macro placer into LibreLane, but it wasn't completed: https://github.com/librelane/librelane/issues/537",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440742594534703286",
      "type": "Default",
      "timestamp": "2025-11-19T16:36:42.24+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Makes sense. Juice probably isn't worth the squeeze given the nature of projects here. Easier to do it by hand \uD83D\uDE42",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1440742679959830673",
      "type": "Reply",
      "timestamp": "2025-11-19T16:37:02.607+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Not my domain (I do frontend) but I can take a couple of guesses at the reasons:\n\n1. Difficult to move large macros later in pnr due to the number of ripups, so there's a high likelihood of automatic placement backing itself into a corner and making the design unroutable.\n\n2.  Desire for consistency between implementation runs -- implementation is usually iterative with new RTL updates  regularly coming in, and you want to know whether issues are due to RTL changes etc as opposed to just the tools having a bad day\n\n3. The power connections to macros like SRAMs etc are usually hand-tuned for best results, and you don't want to rip this up every time",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4F",
            "code": "clap",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44f-3D381.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1440733407674896454",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440742862307201134",
      "type": "Default",
      "timestamp": "2025-11-19T16:37:46.082+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "At least that's for the commercial projects I've worked on. Different dynamics for the new open-source stuff",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440742955701899376",
      "type": "Default",
      "timestamp": "2025-11-19T16:38:08.349+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ahh interesting!",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440743215333638165",
      "type": "Default",
      "timestamp": "2025-11-19T16:39:10.25+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'd love to have suggestions though. Like it would just do a rough electrostatic-style placement  of all standard cells and macro to sort of see how things arrange themselves and make sure I'm not placing those macro at a very inconvenient spot.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDCAF",
            "code": "100",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f4af-4CFF5.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440743282551558256",
      "type": "Default",
      "timestamp": "2025-11-19T16:39:26.276+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And then I can lock it there and never move it while refining RTL.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440743339795157103",
      "type": "Default",
      "timestamp": "2025-11-19T16:39:39.924+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah, like BRAM locking on FPGA \uD83D\uDE05",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1440743947029975144",
      "type": "Default",
      "timestamp": "2025-11-19T16:42:04.7+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It's a really interesting question, I never thought about it. I just sort of accepted the layout folks at work spent days gently massaging the RAMs into place",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440759548792143903",
      "type": "Default",
      "timestamp": "2025-11-19T17:44:04.45+00:00",
      "timestampEdited": "2025-11-19T17:46:49.491+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "still not 100% confident yosys didnt optimize away half the design and my laptop locked up so I'm not sure if it actually completed successfully before I had to go to work...but it did finish enough to generate an output GDS \uD83E\uDD73 \n\nso much unused space \uD83D\uDE02",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [
        {
          "id": "1440759548066664448",
          "url": "2025-11_media/Screenshot_From_2025-11-19_08-31-14-25A7F.png",
          "fileName": "Screenshot_From_2025-11-19_08-31-14.png",
          "fileSizeBytes": 294632
        },
        {
          "id": "1440759548645474445",
          "url": "2025-11_media/Screenshot_From_2025-11-19_08-30-31-7065F.png",
          "fileName": "Screenshot_From_2025-11-19_08-30-31.png",
          "fileSizeBytes": 1001310
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4F",
            "code": "clap",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44f-3D381.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83E\uDD73",
          "code": "partying_face",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f973-88B39.svg"
        },
        {
          "id": "",
          "name": "\uD83D\uDE02",
          "code": "joy",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f602-168C5.svg"
        }
      ]
    },
    {
      "id": "1440762626924609678",
      "type": "Default",
      "timestamp": "2025-11-19T17:56:18.334+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "My custom ASIC KianV SV32 SoC is now finalized!\nRV32IMA + Zicntr/Zicsr/Zifencei/SSTC with full MMU — running uLinux, Linux, and xv6.\nWith huge help from @Leo Moser (mole99)  — and thanks to \n@Tim 'mithro' Ansell",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1440762626203451403",
          "url": "2025-11_media/G6IpKybXoAE1ATj-B5552.png",
          "fileName": "G6IpKybXoAE1ATj.png",
          "fileSizeBytes": 2109736
        },
        {
          "id": "1440762626643726410",
          "url": "2025-11_media/G6IqYgdXkAAk0MJ-1801C.png",
          "fileName": "G6IqYgdXkAAk0MJ.png",
          "fileSizeBytes": 1454013
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83E\uDD73",
            "code": "partying_face",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f973-88B39.svg"
          },
          "count": 3,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            },
            {
              "id": "492702620759228416",
              "name": "mattvenn",
              "discriminator": "0000",
              "nickname": "Matt Venn",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/aa8560ba40f1f3d339d044dee6970630-97A62.png"
            },
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 4,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "492702620759228416",
              "name": "mattvenn",
              "discriminator": "0000",
              "nickname": "Matt Venn",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/aa8560ba40f1f3d339d044dee6970630-97A62.png"
            },
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        },
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1440765608374435946",
      "type": "ThreadCreated",
      "timestamp": "2025-11-19T18:08:09.167+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1440762626924609678",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440765650959339613",
      "type": "Default",
      "timestamp": "2025-11-19T18:08:19.32+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It will run mailine linux/uLinux/XV6 Unix or newer",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1440765648685764738",
          "url": "2025-11_media/Screenshot_from_2025-11-19_19-01-14-47AD1.png",
          "fileName": "Screenshot_from_2025-11-19_19-01-14.png",
          "fileSizeBytes": 56570
        },
        {
          "id": "1440765649709432913",
          "url": "2025-11_media/Screenshot_from_2025-11-19_19-07-16-CE074.png",
          "fileName": "Screenshot_from_2025-11-19_19-07-16.png",
          "fileSizeBytes": 130308
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440771256067686582",
      "type": "Default",
      "timestamp": "2025-11-19T18:30:35.682+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I’ve shared a Python script to render the chip layout from GDS. It’s pretty slow and memory-hungry, but it works. I’ll put it on my GitHub repo later.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1440771255912370298",
          "url": "2025-11_media/ieee_export_chip-E6A12.py",
          "fileName": "ieee_export_chip.py",
          "fileSizeBytes": 13848
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440772076347588668",
      "type": "Default",
      "timestamp": "2025-11-19T18:33:51.252+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "definitely will try that when I get home!",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440776133326143540",
      "type": "Default",
      "timestamp": "2025-11-19T18:49:58.511+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "This script generates 3D models and is multithreaded\nhttps://github.com/AvalonSemiconductors/gfmpw1-multi/blob/main/gds2gltf.py",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440777208070406245",
      "type": "Default",
      "timestamp": "2025-11-19T18:54:14.75+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Richtig geil...danke",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440780450455879811",
      "type": "Default",
      "timestamp": "2025-11-19T19:07:07.795+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And here is my entry in the list of layout renderers. It simply uses KLayout (`pip install klayout`) to render the layout and can therefore load both GDS and OAS. I disabled the filler layers to make the layout stand out better.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440780471087661096",
      "type": "Default",
      "timestamp": "2025-11-19T19:07:12.714+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [
        {
          "id": "1440780470643327118",
          "url": "2025-11_media/fabulous_fpga-A6060.png",
          "fileName": "fabulous_fpga.png",
          "fileSizeBytes": 2418052
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440780616185413673",
      "type": "Default",
      "timestamp": "2025-11-19T19:07:47.308+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [
        {
          "id": "1440780615866912959",
          "url": "2025-11_media/lay2img-E79C6.py",
          "fileName": "lay2img.py",
          "fileSizeBytes": 2246
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440780832716357824",
      "type": "Default",
      "timestamp": "2025-11-19T19:08:38.933+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can run it as `python3 lay2img.py librelane/runs/<timestamp>/final/gds/chip_top.gds image --width 4069 --height 6144` in the root of your repository.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440785965433225346",
      "type": "Default",
      "timestamp": "2025-11-19T19:29:02.668+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Rendering the AS2650-2 with @asic destroyer ’s script shows some missing wires.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1440785965089034401",
          "url": "2025-11_media/chip-7E506.png",
          "fileName": "chip.png",
          "fileSizeBytes": 1361690
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1440786225685598378",
      "type": "Reply",
      "timestamp": "2025-11-19T19:30:04.717+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Watch your RAM use running this, btw. It gets intense.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC9C",
            "code": "purple_heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f49c-71A75.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "anfroholic",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            }
          ]
        }
      ],
      "mentions": [],
      "reference": {
        "messageId": "1440776133326143540",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440805198070284378",
      "type": "Reply",
      "timestamp": "2025-11-19T20:45:28.086+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Super cool!",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1440762626924609678",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440805645333823633",
      "type": "ThreadCreated",
      "timestamp": "2025-11-19T20:47:14.722+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1440366765631737987",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440806359632183389",
      "type": "Reply",
      "timestamp": "2025-11-19T20:50:05.024+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What MCU is that Hazard3?",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1440439604451872871",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440806969219879036",
      "type": "ThreadCreated",
      "timestamp": "2025-11-19T20:52:30.361+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1440610129904009306",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440807547387772939",
      "type": "Reply",
      "timestamp": "2025-11-19T20:54:48.207+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Automatic macro placement stuff was one of the big things that Google's ML team did for the TPU",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1440743947029975144",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440807778670219445",
      "type": "Reply",
      "timestamp": "2025-11-19T20:55:43.349+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://github.com/google-research/circuit_training",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "GitHub - google-research/circuit_training",
          "url": "https://github.com/google-research/circuit_training",
          "timestamp": null,
          "description": "Contribute to google-research/circuit_training development by creating an account on GitHub.",
          "color": "#1E2327",
          "thumbnail": {
            "url": "2025-11_media/circuit_training-59747",
            "width": 1200,
            "height": 600
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "reference": {
        "messageId": "1440807547387772939",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440807955883757660",
      "type": "Reply",
      "timestamp": "2025-11-19T20:56:25.6+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yep, it's Hazard3. There will be at least two of them once I'm done (one for main game firmware and one for audio processing)",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1440806359632183389",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440808032048250982",
      "type": "Reply",
      "timestamp": "2025-11-19T20:56:43.759+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What about one for graphics? \uD83D\uDE1B",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1440807955883757660",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE1B",
          "code": "stuck_out_tongue",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f61b-EC4B5.svg"
        }
      ]
    },
    {
      "id": "1440808075081814047",
      "type": "Default",
      "timestamp": "2025-11-19T20:56:54.019+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "RISCBoy PPU is already quite programmable",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440808138784636938",
      "type": "Default",
      "timestamp": "2025-11-19T20:57:09.207+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "and can do affine blits and stuff at 1 pix/clk",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440808196150263891",
      "type": "Default",
      "timestamp": "2025-11-19T20:57:22.884+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "so I'm planning to use that with external parallel async SRAM",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440808302824128664",
      "type": "Default",
      "timestamp": "2025-11-19T20:57:48.317+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "serial SPI LCD",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "684463118709162093",
              "name": "chaask",
              "discriminator": "0000",
              "nickname": "chasak",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/59486f73932f21d0f005985411cfae98-091E8.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440808342405775433",
      "type": "Reply",
      "timestamp": "2025-11-19T20:57:57.754+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) - Maybe LibreLane needs container limits to stop locking computers up or something?",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        },
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1440759548792143903",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440808499461226546",
      "type": "Default",
      "timestamp": "2025-11-19T20:58:35.199+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "would love to do DVI out but if I only have 13 days til final GDS then now is not the time for custom layout \uD83D\uDE05",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1440808727077978243",
      "type": "Default",
      "timestamp": "2025-11-19T20:59:29.467+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'll probably have some std cell-based DCOs on board to play with generating internal clocks but nothing of the quality you'd need for DVI",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440808757973094543",
      "type": "Reply",
      "timestamp": "2025-11-19T20:59:36.833+00:00",
      "timestampEdited": "2025-11-19T20:59:43.173+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Sleep is for the weak \uD83D\uDE09",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1440808499461226546",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE09",
          "code": "wink",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f609-9EC67.svg"
        }
      ]
    },
    {
      "id": "1440808799861473412",
      "type": "Default",
      "timestamp": "2025-11-19T20:59:46.82+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "sleep is for two weeks from now",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440810948859269253",
      "type": "Default",
      "timestamp": "2025-11-19T21:08:19.181+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Oh. Tapeout is that soon?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440810972125073509",
      "type": "Default",
      "timestamp": "2025-11-19T21:08:24.728+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Uhhhhh",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440810993876865297",
      "type": "Default",
      "timestamp": "2025-11-19T21:08:29.914+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah, sleep is indeed for two weeks from now",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440811759643525161",
      "type": "Default",
      "timestamp": "2025-11-19T21:11:32.487+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Dammit, there is too many cool things to look at in this channel and I need to be finishing the GDS prechecking on platform.wafer.space",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440812231402065981",
      "type": "Reply",
      "timestamp": "2025-11-19T21:13:24.963+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ja, Leo ist richtig geil!",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1440812231070842882",
          "url": "2025-11_media/chipw-55C88.png",
          "fileName": "chipw.png",
          "fileSizeBytes": 938215
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4F",
            "code": "clap",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44f-3D381.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1440780471087661096",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440830200366497923",
      "type": "Default",
      "timestamp": "2025-11-19T22:24:49.098+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "We definitely need a gallery or something!",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDCAF",
            "code": "100",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f4af-4CFF5.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            },
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "anfroholic",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "anfroholic",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1440837674217766993",
      "type": "Reply",
      "timestamp": "2025-11-19T22:54:31.003+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "hehe well I think we can blame my laptop for this one. the display/linux controlling it seems to get flaky in memory-constrained circumstances",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1440808342405775433",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1440837751304884247",
      "type": "Default",
      "timestamp": "2025-11-19T22:54:49.382+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(i also forgot to boost swap before starting it)",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441095243041865820",
      "type": "Default",
      "timestamp": "2025-11-20T15:58:00.196+00:00",
      "timestampEdited": "2025-11-20T15:58:10.017+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "How we can do the same here, excluding gf180mcu_fd_sc_mcu7t5v0__oai21_1  @Leo Moser (mole99) \nhttps://discordapp.com/channels/1009193568256135208/1438584424554827788",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441113806041383023",
      "type": "Default",
      "timestamp": "2025-11-20T17:11:45.96+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": true,
      "content": "\uD83D\uDCE2 Since the last announcement, a number of important changes have been made to both the PDK and the template.\n\n### PDK\n\n1. [#3](https://github.com/wafer-space/gf180mcu/pull/3): The seal ring generator has been updated.\n    - Now actually includes the glass cut.\n    - Pplus does not overlap comp, as required by DRC.\n2. [#3](https://github.com/wafer-space/gf180mcu/pull/3): Filler generation has been updated to ensure 10um spacing to the seal ring. (This was only a problem for smaller slot sizes).\n\n### Template\n\n1. The core ring now [connects to all vss pads again](https://github.com/wafer-space/gf180mcu-project-template/commit/c119e25b04b1dc3619bcd66cb508f901fd976410). (thanks @tnt!)\n2. [#22](https://github.com/wafer-space/gf180mcu-project-template/pull/22): Magic has been updated with fix that significantly reduces peak memory usage.\n3. [#21](https://github.com/wafer-space/gf180mcu-project-template/pull/21): The `render-image` Make target renders the GDS layout.\n4. [#21](https://github.com/wafer-space/gf180mcu-project-template/pull/21): The CI has been updated.\n    - Commands in the nix shell are now only executed once. (thanks @Egor Lukyanchenko!)\n    - Create a summary and upload artifacts (gds and image) ([Example](https://github.com/wafer-space/gf180mcu-project-template/actions/runs/19543720582))\n5. [#23](https://github.com/wafer-space/gf180mcu-project-template/pull/23): Workaround for a PDN issue.\n6. [#24](https://github.com/wafer-space/gf180mcu-project-template/pull/24): Fix antenna violations using `DRT_ANTENNA_REPAIR_ITERS` (disable if any issues occur).\n7. The [PDK version](https://github.com/wafer-space/gf180mcu-project-template/commit/b20168925c46fdd292e6084f31bfd8d312379d7e) has been pinned.\n\nPlease update your repository in line with the template and clone the latest PDK.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 6,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            },
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            },
            {
              "id": "754661674145022032",
              "name": "noritsunaimamura",
              "discriminator": "0000",
              "nickname": "Noritsuna Imamura",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
            },
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        },
        {
          "id": "709384666909507634",
          "name": "egorxe",
          "discriminator": "0000",
          "nickname": "Egor Lukyanchenko",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/3-FB033.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDCE2",
          "code": "loudspeaker",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f4e2-C9D9D.svg"
        }
      ]
    },
    {
      "id": "1441135690678145144",
      "type": "ChannelPinnedMessage",
      "timestamp": "2025-11-20T18:38:43.664+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Pinned a message.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1441113806041383023",
        "channelId": "1423348662318272592",
        "guildId": null
      },
      "inlineEmojis": []
    },
    {
      "id": "1441173471253237901",
      "type": "Default",
      "timestamp": "2025-11-20T21:08:51.255+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) Is the environment of the leo/gf180 branch of libre lane good ? That's what I'm using since TT is not based at all on the template .",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441188569279369409",
      "type": "Reply",
      "timestamp": "2025-11-20T22:08:50.905+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Does the template have a CHANGELOG file or something? Seems like this would be great to include in that.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1441113806041383023",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441188716428136468",
      "type": "Default",
      "timestamp": "2025-11-20T22:09:25.988+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) - BTW Did you see that I made the `git describe` version number work?",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441308312556798013",
      "type": "Reply",
      "timestamp": "2025-11-21T06:04:39.927+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, the template uses `leo/gf180mcu` as well.\nUnfortunately, I still need to rebase from time to time, so any commit hashes that you reference might break.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1441173471253237901",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441309725151985795",
      "type": "Default",
      "timestamp": "2025-11-21T06:10:16.716+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) I meant the nix environment of the `leo/gf180mcu`.  Digging a bit I think the magic version is different.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441310110055006259",
      "type": "Reply",
      "timestamp": "2025-11-21T06:11:48.484+00:00",
      "timestampEdited": "2025-11-21T06:12:53.207+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) it might be a red herring, but I think I started getting KLayout DRC violations when running a **precheck**. This started after merging the latest template changes.\n\nI get 12 drc errors and if I read it correctly (`drc.klayout.lyrdb` file) errors are in **sealring**",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [
        {
          "id": "1441310109862203413",
          "url": "2025-11_media/image-52BB2.png",
          "fileName": "image.png",
          "fileSizeBytes": 205365
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1441113806041383023",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441310617146495106",
      "type": "Reply",
      "timestamp": "2025-11-21T06:13:49.384+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Right! I override the magic version in the template. There is no change in functionality, but it reduces peak RAM usage.\nI can update nix-eda as a whole in the `leo/gf180mcu` branch once the latest Yosys hang is fixed.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1441309725151985795",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441311164343783476",
      "type": "Reply",
      "timestamp": "2025-11-21T06:15:59.846+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ReJ, yes that is expected. Sorry! I still need to sync the precheck with the latest changes to the template. I started a run yesterday but didn't get to push the changes yet.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "reference": {
        "messageId": "1441310110055006259",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441311257704665110",
      "type": "Reply",
      "timestamp": "2025-11-21T06:16:22.105+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, we can use versions and a changelog for the template from now on.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1441188569279369409",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441311475749748867",
      "type": "Reply",
      "timestamp": "2025-11-21T06:17:14.091+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I would prefer tags in the format `x.y.z`, like in the gf180mcu repository.\nI'll update the tag.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1441188716428136468",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441311766129934386",
      "type": "Reply",
      "timestamp": "2025-11-21T06:18:23.323+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "with `git-describe` you get `v0.0-<commits>-<hash>` which some people map to `v0.0.<commits>`",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1441311475749748867",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441312059844202669",
      "type": "Default",
      "timestamp": "2025-11-21T06:19:33.35+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But I don't really care that enough, do what you prefer \uD83D\uDE42",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1441312271858012300",
      "type": "Default",
      "timestamp": "2025-11-21T06:20:23.898+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, `git-describe` is really neat \uD83D\uDE01 \nI'm generally following the conventions in LibreLane to keep things simple.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE01",
          "code": "grin",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f601-4E9BD.svg"
        }
      ]
    },
    {
      "id": "1441312391513112596",
      "type": "Reply",
      "timestamp": "2025-11-21T06:20:52.426+00:00",
      "timestampEdited": "2025-11-21T06:21:07.597+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "no worries! Happy to hear it is expected",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1441311164343783476",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441314857751154852",
      "type": "Default",
      "timestamp": "2025-11-21T06:30:40.423+00:00",
      "timestampEdited": "2025-11-21T06:31:19.154+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Random piece of information, template project also works fine with gf180mcu_fd_sc_mcu**9t**5v0",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441377382412845147",
      "type": "Reply",
      "timestamp": "2025-11-21T10:39:07.464+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You could give this PR a try: https://github.com/wafer-space/gf180mcu-precheck/pull/3",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "chore: update precheck to match template by mole99 · Pull Request ...",
          "url": "https://github.com/wafer-space/gf180mcu-precheck/pull/3",
          "timestamp": null,
          "description": "Update PDK_TAG to 1.1.0\nPin nix-eda to 5.9.0 and override magic to 8.3.576",
          "color": "#1E2327",
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "reference": {
        "messageId": "1441312391513112596",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441435181008293938",
      "type": "Default",
      "timestamp": "2025-11-21T14:28:47.723+00:00",
      "timestampEdited": "2025-11-21T14:29:10.226+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Antenna check is taking forever \uD83D\uDE25  It's been an hour and I think it's still at Metal1.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE25",
          "code": "disappointed_relieved",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f625-F009A.svg"
        }
      ]
    },
    {
      "id": "1441436146935529514",
      "type": "Default",
      "timestamp": "2025-11-21T14:32:38.018+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I mean, you do have a lot of Metal1 in the layout if the whole core area has a standard cell grid in it.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441436258671788145",
      "type": "Default",
      "timestamp": "2025-11-21T14:33:04.658+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "My flows are faster than average, I believe, because I only have macros in the top-level and no cell grids.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441436447319261204",
      "type": "Default",
      "timestamp": "2025-11-21T14:33:49.635+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Well the top level of TT doesn't have any cell grid \uD83D\uDE05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1441436600868278394",
      "type": "Default",
      "timestamp": "2025-11-21T14:34:26.244+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "and this test sample is only maybe ... 15~20% filled.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441437376353140809",
      "type": "Default",
      "timestamp": "2025-11-21T14:37:31.134+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That’s probably already denser than my chip.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441437508352348291",
      "type": "Default",
      "timestamp": "2025-11-21T14:38:02.605+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But antenna check takes a few seconds for me, so something seems wrong there.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441438545670832212",
      "type": "Default",
      "timestamp": "2025-11-21T14:42:09.921+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Are you talking about KLayout.Antenna or OpenROAD.CheckAntennas step ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441438859593388124",
      "type": "Default",
      "timestamp": "2025-11-21T14:43:24.766+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Both, I guess.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441438956645384355",
      "type": "Default",
      "timestamp": "2025-11-21T14:43:47.905+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "A step getting stuck for that long would be quite memorable and I don’t remember anything other than STA and DRC taking forever.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441439080897445949",
      "type": "Default",
      "timestamp": "2025-11-21T14:44:17.529+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Well https://github.com/AvalonSemiconductors/ws-submission-2025/blob/main/librelane/config.yaml#L6\nIt's disabled in your default config so you'd have to enable it to see it.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441443103922978836",
      "type": "Default",
      "timestamp": "2025-11-21T15:00:16.693+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I just pushed to the repo",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441443169341538476",
      "type": "Default",
      "timestamp": "2025-11-21T15:00:32.29+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Has my analog pad fixes now",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441477448813514752",
      "type": "Reply",
      "timestamp": "2025-11-21T17:16:45.153+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt Should we enable it?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1441439080897445949",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441477726254010368",
      "type": "Default",
      "timestamp": "2025-11-21T17:17:51.3+00:00",
      "timestampEdited": "2025-11-21T17:18:07.622+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99)",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1441477725775724625",
          "url": "2025-11_media/Screenshot_from_2025-11-21_18-17-29-8EB09.png",
          "fileName": "Screenshot_from_2025-11-21_18-17-29.png",
          "fileSizeBytes": 60034
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441477883502530580",
      "type": "Default",
      "timestamp": "2025-11-21T17:18:28.791+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It's been running here for 4h ....",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441477921226363117",
      "type": "Default",
      "timestamp": "2025-11-21T17:18:37.785+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "so I get why it's disabled \uD83D\uDE05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1441505073581789215",
      "type": "Default",
      "timestamp": "2025-11-21T19:06:31.411+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Does anyone know which step in the (template) flow is responsible for adding buffers on a high fanout net? I have a reset net with a fanout of ~1k and in my powered  netlist `./25-openroad-globalplacementskipio/chip_top.pnl.v` still has the reset synchroniser output going directly to all ~1k loads without buffering. This makes the following STAs meaningless because the reset net has like a 100 ns rise time",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441515202679144510",
      "type": "Default",
      "timestamp": "2025-11-21T19:46:46.376+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah, somewhat answered my own questions:\n\n1. the buffers are added in the `repairdesignpostgpl` step\n2. my issue with insane violations was actually because removing the clock variables from your `.yaml` and just defining clocks in your `.sdc` completely skips CTS, so I had like a 450 ns clock rise/fall, and all the flop timings are derated according to slew",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "228329196504481793",
              "name": "nxmq99",
              "discriminator": "0000",
              "nickname": "nxmq99",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a894465ce64c0d99a11e309c80c403db-DA6C3.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441526234793119836",
      "type": "Default",
      "timestamp": "2025-11-21T20:30:36.637+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Does anyone have a design which currently fails precheck quickly?",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441526427546554539",
      "type": "Default",
      "timestamp": "2025-11-21T20:31:22.593+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I need some test cases for the manufacturability checking testing",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441526545578594385",
      "type": "Default",
      "timestamp": "2025-11-21T20:31:50.734+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What if you just run precheck against a corrupted GDSII file so it fails just loading?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441528156736458862",
      "type": "Default",
      "timestamp": "2025-11-21T20:38:14.864+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah, I can do those ones pretty easy, I'm other an otherwise compliant design that just has DRC violations.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441576949980856400",
      "type": "Default",
      "timestamp": "2025-11-21T23:52:08.08+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) - I believe your pull request to the precheck is now merged and the docker image got updated.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441696808806912081",
      "type": "Default",
      "timestamp": "2025-11-22T07:48:24.651+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Antenna check is going on 18h, so I think I'll give up on it \uD83D\uDE05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1441702972756332614",
      "type": "Reply",
      "timestamp": "2025-11-22T08:12:54.251+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks!",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1441576949980856400",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441703271667466280",
      "type": "Reply",
      "timestamp": "2025-11-22T08:14:05.517+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah, I also remember it taking forever during my testing \uD83D\uDE05\nFor the second shuttle, I can look into rewriting/improving the KLayout antenna checks (there have been some updates to KLayout), or using a magic antenna check. But I don't see how we can possibly enforce zero antenna violations on the first shuttle.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1441696808806912081",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1441713124112859238",
      "type": "Default",
      "timestamp": "2025-11-22T08:53:14.523+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1441709551840923782",
        "channelId": "1408134567491145728",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441776246475456592",
      "type": "Default",
      "timestamp": "2025-11-22T13:04:04.067+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I ran a precheck on the GDS with PDK updated to 1.1.0 and new Filler and Sealing.\nIt has been successfully completed.\nIt took 4 hours and 36 minutes on Ubuntu24.04. The PC specifications are: \"Ryzen 3 Pro 4350G (4-core, 8-thread) & MEM: 64GB\".\n\nHowever, when running on WSL, Klayout crashed when signals such as SIGKILL were sent  or no response. \nWhen I used about 14GB of memory, Klayout has crashed.\n\n- Precheck Log\nhttps://github.com/ishi-kai/ISHI-KAI_Multiple_Projects_WaferSapce-GF180-1/tree/main/precheck_log/RUN_2025-11-22_16-51-07\n- Project GitHub\nhttps://github.com/ishi-kai/ISHI-KAI_Multiple_Projects_WaferSapce-GF180-1",
      "author": {
        "id": "754661674145022032",
        "name": "noritsunaimamura",
        "discriminator": "0000",
        "nickname": "Noritsuna Imamura",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
      },
      "attachments": [
        {
          "id": "1441776246752153651",
          "url": "2025-11_media/precheck_3rd_OK-9A554.png",
          "fileName": "precheck_3rd_OK.png",
          "fileSizeBytes": 1690632
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441789668965355641",
      "type": "Default",
      "timestamp": "2025-11-22T13:57:24.238+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Interesting I'm getting quite a few `Error while reading cell \"tt_gf_wrapper\" (byte position 137203656): Warning: cell \"Metal1_fill_cell\" placed on top of   itself.  Ignoring the extra one.` during the pre-check, maybe something's wrong somewhere in fill generation ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441793003474653365",
      "type": "Reply",
      "timestamp": "2025-11-22T14:10:39.247+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can ignore those for now. From what Tim had looked into it, these are most likely real overlapping cells generated by KLayout during filler generation.\nI still need to prepare a reproducible for Matthias.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            },
            {
              "id": "754661674145022032",
              "name": "noritsunaimamura",
              "discriminator": "0000",
              "nickname": "Noritsuna Imamura",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1441789668965355641",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441802322689654785",
      "type": "Reply",
      "timestamp": "2025-11-22T14:47:41.121+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Hi @Noritsuna Imamura, with which error does KLayout crash?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "754661674145022032",
          "name": "noritsunaimamura",
          "discriminator": "0000",
          "nickname": "Noritsuna Imamura",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
        }
      ],
      "reference": {
        "messageId": "1441776246475456592",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441802821115707453",
      "type": "Reply",
      "timestamp": "2025-11-22T14:49:39.955+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It's like this.",
      "author": {
        "id": "754661674145022032",
        "name": "noritsunaimamura",
        "discriminator": "0000",
        "nickname": "Noritsuna Imamura",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
      },
      "attachments": [
        {
          "id": "1441802819601436805",
          "url": "2025-11_media/precheck_3rd_klayout_crash01-87886.png",
          "fileName": "precheck_3rd_klayout_crash01.png",
          "fileSizeBytes": 30376
        },
        {
          "id": "1441802819895300116",
          "url": "2025-11_media/precheck_3rd_klayout_crash02-A8A84.png",
          "fileName": "precheck_3rd_klayout_crash02.png",
          "fileSizeBytes": 26126
        },
        {
          "id": "1441802820222320752",
          "url": "2025-11_media/precheck_3rd_klayout_crash03-DD445.png",
          "fileName": "precheck_3rd_klayout_crash03.png",
          "fileSizeBytes": 43406
        },
        {
          "id": "1441802820494823576",
          "url": "2025-11_media/precheck_3rd_klayout_crash04-C1E15.png",
          "fileName": "precheck_3rd_klayout_crash04.png",
          "fileSizeBytes": 37412
        },
        {
          "id": "1441802820784492544",
          "url": "2025-11_media/precheck_3rd_klayout_crash05-367CB.png",
          "fileName": "precheck_3rd_klayout_crash05.png",
          "fileSizeBytes": 17774
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1441802322689654785",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441805192302428283",
      "type": "Reply",
      "timestamp": "2025-11-22T14:59:05.29+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Could you please open an issue in the [precheck repo](https://github.com/wafer-space/gf180mcu-precheck) with all the details and a link to the GDS? Unfortunately, I cannot look into it right now, but I would like to try and see if it crashes on my end as well.\n\nYou should be able find the full KLayout log in the run directory.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDD97",
            "code": "ok",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f197-BB9F1.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "754661674145022032",
              "name": "noritsunaimamura",
              "discriminator": "0000",
              "nickname": "Noritsuna Imamura",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "1242828663758786670",
            "name": "done",
            "code": "done",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1242828663758786670-2BA5C.png"
          },
          "count": 1,
          "users": [
            {
              "id": "754661674145022032",
              "name": "noritsunaimamura",
              "discriminator": "0000",
              "nickname": "Noritsuna Imamura",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "754661674145022032",
          "name": "noritsunaimamura",
          "discriminator": "0000",
          "nickname": "Noritsuna Imamura",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
        }
      ],
      "reference": {
        "messageId": "1441802821115707453",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441806069876920382",
      "type": "Default",
      "timestamp": "2025-11-22T15:02:34.52+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It worries me a bit that 30 min into the execution of the klayout drc step, it hasn't even started with the \"Executing rule XXX\" phase of the check \uD83E\uDD14",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83E\uDD14",
          "code": "thinking",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f914-15707.svg"
        }
      ]
    },
    {
      "id": "1441840716744622081",
      "type": "Default",
      "timestamp": "2025-11-22T17:20:14.977+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Is there a way for me to run the KLayout DRC checks on a GDSII file without running the full chip_top flow? I just want to know if my DACs still have DRC errors without waiting 4+ hours for DRC to run on the full chip.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441841361669197995",
      "type": "Default",
      "timestamp": "2025-11-22T17:22:48.739+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "`klayout -b -zz -r ${PDK_ROOT}/gf180mcuD/libs.tech/klayout/tech/drc/gf180mcu.drc -rd input=your.gds -rd report=drc.klayout.lyrdb -rd feol=True -rd beol=True -rd dummy=True -rd offgrid=True -rd conn_drc=True -rd wedge=True -rd run_mode=deep -rd thr=16`",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441841588560072745",
      "type": "Default",
      "timestamp": "2025-11-22T17:23:42.834+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That's the command run by the pre-check.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441843380903477339",
      "type": "Default",
      "timestamp": "2025-11-22T17:30:50.162+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Its so annoying to me that I can spend days putting something together in magic until its DRC clean, and then KLayout comes in \"Actshually, there is 107 DRC errors\"",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441845685186986137",
      "type": "Default",
      "timestamp": "2025-11-22T17:39:59.546+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I think that's pretty much the deal of being on this first run is that you're beta testing stuff ...",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441846563751071775",
      "type": "Default",
      "timestamp": "2025-11-22T17:43:29.012+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Although I'm looking at some of the error in KLayout and ... they might be false positive.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441846910372810936",
      "type": "Default",
      "timestamp": "2025-11-22T17:44:51.653+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I have tons of DRC errors for this. So uhm. Is it too long? Too short? What is the limit?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1441846910070816858",
          "url": "2025-11_media/image-F7AF9.png",
          "fileName": "image.png",
          "fileSizeBytes": 20768
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441847062261141656",
      "type": "Default",
      "timestamp": "2025-11-22T17:45:27.866+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Am I about to have to dive into some source code just to know what this is about?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441847302061949150",
      "type": "Default",
      "timestamp": "2025-11-22T17:46:25.039+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "No errors in magic",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1441847301562695740",
          "url": "2025-11_media/image-DC49F.png",
          "fileName": "image.png",
          "fileSizeBytes": 5598
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441847482647707769",
      "type": "Default",
      "timestamp": "2025-11-22T17:47:08.094+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, looking at that now. I think there is a missing marker layer.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE22",
            "code": "cry",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f622-BDD22.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441847606459240660",
      "type": "Default",
      "timestamp": "2025-11-22T17:47:37.613+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "5V and 6V transistors have no difference except the channel length.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441847745332903996",
      "type": "Default",
      "timestamp": "2025-11-22T17:48:10.723+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What is the marker layer?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441847745433436355",
      "type": "Default",
      "timestamp": "2025-11-22T17:48:10.747+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And there is a marker layer (purely informational, doesn't mean anything for manufacturing) to tell klayout that a given transistor is meant to be 5V and not 6V.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441847863121543221",
      "type": "Default",
      "timestamp": "2025-11-22T17:48:38.806+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "v5_xtor",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441848247613128706",
      "type": "Default",
      "timestamp": "2025-11-22T17:50:10.476+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "112/1",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441848310460842064",
      "type": "Default",
      "timestamp": "2025-11-22T17:50:25.46+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "`string MASKHINTS_V5_XTOR` does not have an effect. Will actually have to draw this in KLayout.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441848509241233549",
      "type": "Default",
      "timestamp": "2025-11-22T17:51:12.853+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah, MASKHINTS only works if support for maskhints for that particular layer is in the tech file.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441848622697418935",
      "type": "Default",
      "timestamp": "2025-11-22T17:51:39.903+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards it seems `magic` isn't creating that layer at all, I see no support for writing it in the tech file ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441848697204899972",
      "type": "Default",
      "timestamp": "2025-11-22T17:51:57.667+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But also, these are supposed to be 6V devices",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441848829505699860",
      "type": "Default",
      "timestamp": "2025-11-22T17:52:29.21+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But also, magic extracts them as 5V?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441848942366036059",
      "type": "Default",
      "timestamp": "2025-11-22T17:52:56.118+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "There is weird things going on here",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441850470187536434",
      "type": "Default",
      "timestamp": "2025-11-22T17:59:00.379+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Oh no, the transistors are indeed too small for 6V devices - and magic doesn’t see a problem with that.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441850522976915547",
      "type": "Default",
      "timestamp": "2025-11-22T17:59:12.965+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "In other words, I’d like to report a bug...",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441852922995675247",
      "type": "Default",
      "timestamp": "2025-11-22T18:08:45.174+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm guessing the `mv` devices (which are the ones used in your design) are meant to be the 5V one and the `hv` would be the 6V ones.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441853249891074148",
      "type": "Default",
      "timestamp": "2025-11-22T18:10:03.112+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ah no, I think magic doesn't differentiate between 5V and 6V devices at all.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441853347463172209",
      "type": "Default",
      "timestamp": "2025-11-22T18:10:26.375+00:00",
      "timestampEdited": "2025-11-22T18:10:31.523+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "both are `mvnfet` / `mvpfet` and it's just whatever length you use that will dictate which one it is ...",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441855117111591029",
      "type": "Default",
      "timestamp": "2025-11-22T18:17:28.292+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "hv is 10V",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441855383793831946",
      "type": "Default",
      "timestamp": "2025-11-22T18:18:31.874+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "GF180mcu has LV, MV 5V, MV 6V, Native Vt, HV LDMOS",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441855468631883836",
      "type": "Default",
      "timestamp": "2025-11-22T18:18:52.101+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Which are 3.3V, 5V, 6V, 6V and 10V respectively.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441855945272463541",
      "type": "Default",
      "timestamp": "2025-11-22T18:20:45.741+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Here is another DRC error that I’m seeing a lot of in KLayout but that isn’t represented in magic.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1441855945067069601",
          "url": "2025-11_media/image-C4F8A.png",
          "fileName": "image.png",
          "fileSizeBytes": 22820
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441855963434057829",
      "type": "Default",
      "timestamp": "2025-11-22T18:20:50.071+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Even though it totally could be.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441857146110087238",
      "type": "Default",
      "timestamp": "2025-11-22T18:25:32.043+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I think there are also drc not checked by klayout because anything wider than 30u must be slitted and it didn't spot that.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441861413160095807",
      "type": "Default",
      "timestamp": "2025-11-22T18:42:29.387+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) I think the KLayout deck has issues.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441861490931011734",
      "type": "Default",
      "timestamp": "2025-11-22T18:42:47.929+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "\"M3.2b : Space to wide Metal3 (length & width > 10um) : 0.3µm\"",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [
        {
          "id": "1441861490356388001",
          "url": "2025-11_media/2025-11-22_551x273_scrot-95CE6.png",
          "fileName": "2025-11-22_551x273_scrot.png",
          "fileSizeBytes": 1220
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441861616063742152",
      "type": "Default",
      "timestamp": "2025-11-22T18:43:17.763+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That's a 0.28u trace ... hardly \"wide Metal3\".",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441866121195163861",
      "type": "Default",
      "timestamp": "2025-11-22T19:01:11.87+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tholin :  Sorry, I was not following this conversation until Sylvain flagged me.\nI keep trying to remind people that the magic DRC deck for GF180MCU was designed in a hurry for what was a digital-only tapeout from Efabless.  I made a \"good first pass\" at the analog rules and layers but there were no analog designs to validate it with.  I have made some corrections since then, but it is more or less in the same state.  I suppose the same goes for the klayout deck---No real validation in practice.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441868660208701582",
      "type": "Default",
      "timestamp": "2025-11-22T19:11:17.218+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tholin :  I found the GF handling of \"5V\" devices to be awkward and looked for some method to be consistent.  It has never seemed reasonable to me that the same device can be either \"5V\" or \"6V\", and requires a marker layer to specify the _intent_ of it.  But mostly the issue of the way it is currently implemented in magic comes from early on struggling with what was _meant_ by a 5V or 6V transistor, along with largely unreadable documentation trying (badly) to explain it.  There were no 5V devices in the device model files originally.  I added those to the model files recently.  I could certainly redo the magic tech file to separate the 5V and 6V transistor types (now that there is a device model for each of them) and use the V5_XTOR (\"FET5VDEF\" in the magic techfile) to distinguish them (and apply the device length rules separately for each of them).",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441869215614369853",
      "type": "Default",
      "timestamp": "2025-11-22T19:13:29.637+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "IMHO it's fine to only have `mv` to represent 5V/6V , but the `V5_XTOR` layer still need to be generated if length is too small to be 6V to comply with the DRC requirement ...  I'm not sure if that's something doable in the magic tech file ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441869284392435864",
      "type": "Reply",
      "timestamp": "2025-11-22T19:13:46.035+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "So it's not so much a bug as an implementation decision.  Given that (at the time I implemented it) there was only one device model, I just had magic extract that one device model and discarded the information from the V5_XTOR mask.  Either way, it's the same device, same model (my 5V model is just a copy of the 6V model, with a restriction on device length applied to the 6V model).",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1441850470187536434",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441869633022853200",
      "type": "Default",
      "timestamp": "2025-11-22T19:15:09.155+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  It can be done.  I assume the purpose is to have magic-generated GDS pass DRC in klayout?",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441869809917755453",
      "type": "Default",
      "timestamp": "2025-11-22T19:15:51.33+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes. But also potentially any DRC GF themselves are running since this is in the design manual.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441869864212893887",
      "type": "Default",
      "timestamp": "2025-11-22T19:16:04.275+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But I think that just implementing, say, \"mvpfet\" = 5V pfet and \"hvpfet\" = 6V pfet would be more consistent with the PDK overall.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441870016361271500",
      "type": "Default",
      "timestamp": "2025-11-22T19:16:40.55+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Sure, I have no strong opinion on that.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441870158426800349",
      "type": "Default",
      "timestamp": "2025-11-22T19:17:14.421+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The 10V one are `ld` if I read the tech file correctly.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441874492967092356",
      "type": "Default",
      "timestamp": "2025-11-22T19:34:27.856+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Are there any published rules for V5_XTOR?  I can't find any in the open PDK documentation.  In the vendor libraries, it appears to cover entire cells, although I would assume it is only meaningful over the gate of the device.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441878065776169080",
      "type": "Default",
      "timestamp": "2025-11-22T19:48:39.68+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tholin :  The magic tech file _does_ implement rule V1.3d;  where do you see it not flagging the rule?  (Note that the DRC documentation has no rule\"V1.3d\", only \"V1.3\".  The \"d\" seems to have been invented by Mabrains when they make the klayout DRC deck.)",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441878313898479748",
      "type": "Default",
      "timestamp": "2025-11-22T19:49:38.837+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://gf180mcu-pdk.readthedocs.io/en/latest/physical_verification/design_manual/drm_07_08.html",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441878385478598778",
      "type": "Default",
      "timestamp": "2025-11-22T19:49:55.903+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "AFAICT it's just the gate over comp that needs to be covered.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441878911112974346",
      "type": "Default",
      "timestamp": "2025-11-22T19:52:01.224+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt : Thanks, I missed PL.11.  But PL.12 suggests that the diffusion as well as the gate must be covered.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441879301623386236",
      "type": "Default",
      "timestamp": "2025-11-22T19:53:34.329+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Rule PL.12 might be intended to prevent mixing 5V and 6V devices in the same circuit.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441879307382161440",
      "type": "Default",
      "timestamp": "2025-11-22T19:53:35.702+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "At least the klayout DRC only checks the gate.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441879378484133948",
      "type": "Default",
      "timestamp": "2025-11-22T19:53:52.654+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But GF might flag PL.12.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441879984317661277",
      "type": "Default",
      "timestamp": "2025-11-22T19:56:17.096+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes. Without exactly a drawing for what PL.12 means, I'm not sure tbh.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441880247715758160",
      "type": "Default",
      "timestamp": "2025-11-22T19:57:19.895+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I like also how there is a drawing for PL.19 but then no PL.19 rule \uD83D\uDE05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1441880397335101626",
      "type": "Default",
      "timestamp": "2025-11-22T19:57:55.567+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'll start counting the issues in the rules and illustrations, and get back to you next week.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83E\uDD23",
            "code": "rofl",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f923-5854E.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441881926397984999",
      "type": "Default",
      "timestamp": "2025-11-22T20:04:00.124+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It occurs to me that there must (?) also be \"cap_nmos_05v0\", \"cap_pmos_05v0\", \"cap_nmos_05v0_b\", and \"cap_pmos_05v0_b\" devices, but the devices themselves are just modeled as ideal capacitors (?!) and the models have no restriction on length and width.  Also, moscap-connected transistors in the SRAM are just transistors in the netlist.  Maybe the moscap device should just be quietly removed from the PDK. . .",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441887955172987030",
      "type": "Default",
      "timestamp": "2025-11-22T20:27:57.496+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  Okay, I have reworked the GF tech file for magic, and pushed the change.  There is also a pending commit to add the 3.3V SRAM library to the open_pdks installation of GF180MCU, so it will all be mirrored to github by tomorrow.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 3,
          "users": [
            {
              "id": "228329196504481793",
              "name": "nxmq99",
              "discriminator": "0000",
              "nickname": "nxmq99",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a894465ce64c0d99a11e309c80c403db-DA6C3.png"
            },
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1441888106092695653",
      "type": "Default",
      "timestamp": "2025-11-22T20:28:33.478+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Oh wow, that was fast \uD83D\uDE05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1441888119971512362",
      "type": "Default",
      "timestamp": "2025-11-22T20:28:36.787+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks !",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441888604631863320",
      "type": "Default",
      "timestamp": "2025-11-22T20:30:32.339+00:00",
      "timestampEdited": "2025-11-22T20:34:45.425+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Is anyone else using clock gates (ICGs) in their designs? I'm getting ~2ns SRAM address hold violations with CPU on a gated clock and SRAM on an ungated version of the same clock. I saw TritonCTS had a `-balance_levels` switch (off by default, enabled by `CTS_BALANCE_LEVELS: True`), but it didn't seem to help with overall clock skew:\n\n> -balance_levels Attempt to keep a similar number of levels in the clock tree across non-register cells (e.g., clock-gate or inverter). The default value is False, and the allowed values are bool.",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441889551462305905",
      "type": "Default",
      "timestamp": "2025-11-22T20:34:18.081+00:00",
      "timestampEdited": "2025-11-22T20:36:00.286+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Related note: based on a tip in the Caravel report I found I could reduce overall clock skew by about 40% (2.8 -> 1.7 ns in post-CTS STA) by forcing Triton to always use the largest available clock buffer. Is there any reason not to make this the default? If you're tight on timing then it may even save area overall as you should need fewer fixups and resizes\n\n```\n# Force use of chonky bois to reduce clock skew (default list is 2, 4, 8)\nCTS_CLK_BUFFERS:\n  - \"gf180mcu_fd_sc_mcu7t5v0__clkbuf_16\"\n```",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441899103134023742",
      "type": "Reply",
      "timestamp": "2025-11-22T21:12:15.377+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Actually there is something suspicious in my CTS report:\n\n```\nTotal number of Clock Roots: 6.\n```\n\nI have four defined clocks with two gates on one of those clocks. If I rebuild with the ICG cells removed, I get\n\n```\nTotal number of Clock Roots: 4.\n```\nIs Triton treating each gate as a new root? Normally ICGs are just buffers for CTS purposes, and you'd explicitly define a root if you wanted a root",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1441888604631863320",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1441899248940748922",
      "type": "Default",
      "timestamp": "2025-11-22T21:12:50.14+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "re: DRC, I assumed these were checks that GF provided, but I guess they are \"implemented\" based on written rules that GF publishes? What happens if we submit a design that validates fine but doesn't meet GF's internal checks?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441899333422419969",
      "type": "Default",
      "timestamp": "2025-11-22T21:13:10.282+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "or do they just YOLO it and you get back a bad wafer?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441899457011515402",
      "type": "Default",
      "timestamp": "2025-11-22T21:13:39.748+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "GF definitely didn't provide the decks for KLayout and Magic \uD83D\uDE05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1441899602952458512",
      "type": "Default",
      "timestamp": "2025-11-22T21:14:14.543+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If it's the same as for Sky130, the fab runs their own deck and comes backs with a list of violations that need fixing.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441899950345551924",
      "type": "Default",
      "timestamp": "2025-11-22T21:15:37.368+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "They usually only bother reporting the MR ( Manufacturing Rule ), i.e. the rules that would actually prevent manufacturing the thing at all.  There are also a bunch of rules that are not MR. i.e. they would affect the performance or function, but are not manufacturing risk, so they don't care so much, it's sort of your problem.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1441900452584362145",
      "type": "Default",
      "timestamp": "2025-11-22T21:17:37.111+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "\uD83D\uDC4D  makes sense, thanks",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDC4D",
          "code": "thumbsup",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f44d-27259.svg"
        }
      ]
    },
    {
      "id": "1441957360242262218",
      "type": "Default",
      "timestamp": "2025-11-23T01:03:44.954+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Actually I don't think GF had any concept of \"MR\" rules (or rather, no _documented_ \"MR\" rule set);  we (Efabless) went through the usual iteration of them sending us a document highlighting all the errors, and coming to an agreement on which rules to waive and which rules to pass back to the user to fix.  Because the two tapeouts were all-digital, we didn't have any user project errors that I recall.  The errors were things in the GF IP (like the I/O cells) which were being flagged by GF's own DRC deck;  none of which would meet the definition of an \"MR\" rule.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442116601007837275",
      "type": "Reply",
      "timestamp": "2025-11-23T11:36:30.911+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, the default is to find roots automatically. In OpenLane 2 there didn’t seem to be a way to explicitly specify roots, I don’t know if things have improved since then.\n\nIf the gated clock only feeds a small number of cells, I believe you can avoid getting a full clock tree built for it by explicitly instantiating a buffer after the gate, which should reduce the skew.",
      "author": {
        "id": "691780627338625077",
        "name": "rebelmike",
        "discriminator": "0000",
        "nickname": "RebelMike",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1441899103134023742",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1442131010706870343",
      "type": "ThreadCreated",
      "timestamp": "2025-11-23T12:33:46.451+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "732347216412278825",
        "name": "urish",
        "discriminator": "0000",
        "nickname": "urish",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1441861490931011734",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1442141559096086690",
      "type": "Reply",
      "timestamp": "2025-11-23T13:15:41.383+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That's right. From the first round of DRC with GF, it seems the whole rule deck is checked, including recommended rules.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "reference": {
        "messageId": "1441957360242262218",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1442141808594391114",
      "type": "Default",
      "timestamp": "2025-11-23T13:16:40.868+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Do they allow to waive the recommended ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442142072542072883",
      "type": "Default",
      "timestamp": "2025-11-23T13:17:43.798+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes. But it's going to be a back and forth.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442142614685093919",
      "type": "Default",
      "timestamp": "2025-11-23T13:19:53.055+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "In other words, if we don't have any DRC violations, we don't need a waiver file, and submitting to the foundry would be faster and less complicated.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442145087667568642",
      "type": "Default",
      "timestamp": "2025-11-23T13:29:42.66+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Does the klayout deck test for recommended rules ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442146344688029900",
      "type": "Default",
      "timestamp": "2025-11-23T13:34:42.357+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The ones that were violated weren't checked at least. I would need to go through the whole deck to see which are implemented and which are not.\nThe other way is to go backwards: see which DRC rules are triggered and trying to fix them/add them to the deck.\nWith actual designs in the reticle we should see a more complete list of DRC violations that are not yet caught by the open source rule decks.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442297480539537408",
      "type": "Default",
      "timestamp": "2025-11-23T23:35:15.952+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Hi all, have people had success running LVS of their designs including the generated padframe? Would like some assurance it is possible before committing to running the long netgen LVS script.",
      "author": {
        "id": "378788837452677120",
        "name": "asc9742",
        "discriminator": "0000",
        "nickname": "asc",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442298109664297121",
      "type": "Default",
      "timestamp": "2025-11-23T23:37:45.947+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I should do that sometime. I am super worried about VDD/VSS shorts and I believe LVS could detect them.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442298122863644694",
      "type": "Default",
      "timestamp": "2025-11-23T23:37:49.094+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Though I’m not sure.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442319744509415546",
      "type": "Default",
      "timestamp": "2025-11-24T01:03:44.096+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "First DRC, LVS, STA clean GDSII",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1442319744102563890",
          "url": "2025-11_media/test_black-85010.png",
          "fileName": "test_black.png",
          "fileSizeBytes": 1831839
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4F",
            "code": "clap",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44f-3D381.svg"
          },
          "count": 6,
          "users": [
            {
              "id": "378788837452677120",
              "name": "asc9742",
              "discriminator": "0000",
              "nickname": "asc",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3-FB033.png"
            },
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "691780627338625077",
              "name": "rebelmike",
              "discriminator": "0000",
              "nickname": "RebelMike",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
            },
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "anfroholic",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            },
            {
              "id": "805909190333038612",
              "name": "trev5514",
              "discriminator": "0000",
              "nickname": "Trevor Peyton",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2-ADBB4.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442321213648277574",
      "type": "Default",
      "timestamp": "2025-11-24T01:09:34.366+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What flow are you using for LVS? Did you create your own padframe schematic using the io spice files from GF or is there a way to get it from the project template?",
      "author": {
        "id": "378788837452677120",
        "name": "asc9742",
        "discriminator": "0000",
        "nickname": "asc",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442321393168679023",
      "type": "Default",
      "timestamp": "2025-11-24T01:10:17.167+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The LVS that runs when you do `make librelane`",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442321648199143484",
      "type": "Default",
      "timestamp": "2025-11-24T01:11:17.971+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I see.",
      "author": {
        "id": "378788837452677120",
        "name": "asc9742",
        "discriminator": "0000",
        "nickname": "asc",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442321895440646165",
      "type": "Default",
      "timestamp": "2025-11-24T01:12:16.918+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tholin Be aware that the librelane LVS abstracts any macros and standard cells.\nI can advise on a setup to run full device level LVS along with soft connection and ERC checks.",
      "author": {
        "id": "738396032295108721",
        "name": "bailey8889",
        "discriminator": "0000",
        "nickname": "bailey",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/0-EB806.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1442322196713443350",
      "type": "Default",
      "timestamp": "2025-11-24T01:13:28.747+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I’m mostly just interested in checking for VDD/VSS shorts",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "738396032295108721",
              "name": "bailey8889",
              "discriminator": "0000",
              "nickname": "bailey",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/0-EB806.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442322234709639369",
      "type": "Default",
      "timestamp": "2025-11-24T01:13:37.806+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I accidentally created such shorts before and the flow did not fail.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442486467761930401",
      "type": "Default",
      "timestamp": "2025-11-24T12:06:14.017+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Is it possible to get librelane installed as an editable package (like a submodule of my repo) but still use the rest of the `nix-shell` setup? I wanted to look at adding a yosys extraction for mux + flop -> scan flop but librelane is quite hardcoded.",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442487562458370210",
      "type": "Default",
      "timestamp": "2025-11-24T12:10:35.013+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I have a similar complaint. nix-shell currently pulls binaries, but I’d actually like the option to have everything be built from source.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442490574304186459",
      "type": "Default",
      "timestamp": "2025-11-24T12:22:33.093+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tholin you can just remove the cachex entry I think. Then it will be everything from source.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1442494109230305331",
      "type": "Reply",
      "timestamp": "2025-11-24T12:36:35.885+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can clone the [leo/gf180mcu](https://github.com/librelane/librelane/tree/leo/gf180mcu) branch (same one used for wafer.space). Next, you can make any changes inside the repo and then start LibreLane with `nix-shell`. \nThat's basically the same step as in: https://librelane.readthedocs.io/en/latest/installation/nix_installation/installation_linux.html#cloning-librelane\nYou can also apply patches in the in the Nix flake of the template, but it's a bit finicky.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1442486467761930401",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1442494358120042628",
      "type": "Reply",
      "timestamp": "2025-11-24T12:37:35.225+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That's what Nix is for. It builds all the binaries for you. In the case of the wafer.space template we point to a specific branch of LibreLane and the binaries are already cached.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1442487562458370210",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1442499017010315438",
      "type": "Reply",
      "timestamp": "2025-11-24T12:56:05.991+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah, so the shell I get from running `nix-shell` in that branch of the librelane repo is a suitable environment for running the makefile in the project template? If so then got it, thanks",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1442494109230305331",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1442499282803490928",
      "type": "Default",
      "timestamp": "2025-11-24T12:57:09.361+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I probably would move to putting patches in the flake (should just be a few lines to add a flag to pass an extraction file) but I need to develop the patch \uD83D\uDE42",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1442501319134023720",
      "type": "Reply",
      "timestamp": "2025-11-24T13:05:14.86+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes. The project template uses that branch with an override to get a newer magic version. But it should also work with the magic version specified in LibreLane.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1442499017010315438",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1442548921393086585",
      "type": "Default",
      "timestamp": "2025-11-24T16:14:24.123+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "very silly newbie question: does part of the librelane build process spit out the max frequency the chip is expected to run at? or is there some other way to tell?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442551933054353670",
      "type": "Default",
      "timestamp": "2025-11-24T16:26:22.159+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, you can find the report in the console or inside `54-openroad-stapostpnr/summary.rpt`. \nIt contains a list of all corners and whether there are any setup violations for the target frequency. If there is a setup violation at a corner, it means that you will not be able to run the chip at the target frequency at that particular corner (PVT - Process, Voltage and Temperature). Using the setup worst slack, you can calculate the maximum frequency for each corner, which could even be above the target frequency.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442553993783021871",
      "type": "Default",
      "timestamp": "2025-11-24T16:34:33.475+00:00",
      "timestampEdited": "2025-11-24T16:34:58.367+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "There is also `54-openroad-stapostpnr\\nom_tt_025C_3v30\\clock.rpt` (and actually for each corner) which tells you `fmax` for that corner.",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442564198751273072",
      "type": "Default",
      "timestamp": "2025-11-24T17:15:06.529+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "thanks!",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442565671274938452",
      "type": "Default",
      "timestamp": "2025-11-24T17:20:57.606+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "aha, and found the target frequency in the yaml. cheers!",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE4C",
            "code": "raised_hands",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f64c-7C820.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442955982153191565",
      "type": "Default",
      "timestamp": "2025-11-25T19:11:54.971+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Anyone else getting occasional crashes in the detailed router? e.g.\n\n```\n [INFO DRT-0076]   Complete 3000 pins.\nSignal 6 received\nStack trace:\n 0# handler(int) in /nix/store/g74fz644z0828i5dksxm95mzdb91aq2g-openroad-2025-10-28/bin/.openroad-wrapped\n 1# _sigtramp in /usr/lib/system/libsystem_platform.dylib\n 2# pthread_kill in /usr/lib/system/libsystem_pthread.dylib\n 3# abort in /usr/lib/system/libsystem_c.dylib\n 4# malloc_vreport in /usr/lib/system/libsystem_malloc.dylib\n 5# malloc_report in /usr/lib/system/libsystem_malloc.dylib\n 6# ___BUG_IN_CLIENT_OF_LIBMALLOC_POINTER_BEING_FREED_WAS_NOT_ALLOCATED in /usr/lib/system/libsystem_malloc.dylib\n```\n\nProbably  won't have time to file reproducibles til after tapeout but I've made note of my git hashes. I'll just back out the RTL changes for now. Wondering if there is any way to work around it without undoing RTL commits",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442975525332324565",
      "type": "Reply",
      "timestamp": "2025-11-25T20:29:34.428+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Wie hast Du das geschafft?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1442955982153191565",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1442975866119258233",
      "type": "Default",
      "timestamp": "2025-11-25T20:30:55.678+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Keine Ahnung",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442979829908508672",
      "type": "Default",
      "timestamp": "2025-11-25T20:46:40.719+00:00",
      "timestampEdited": "2025-11-25T20:47:58.742+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "MacOSX?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442982438493225023",
      "type": "Default",
      "timestamp": "2025-11-25T20:57:02.654+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah it is on MacOS on an M4. The tools do just seem to behave slightly weirdly there, like I also get klayout/magic XORs and I'm not the only person to see that (but fine on Linux)",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442983717814407271",
      "type": "Default",
      "timestamp": "2025-11-25T21:02:07.668+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I don’t have these issues on my Debian or Ubuntu machines. Leo and I have generated over 60 chips in the last 3 weeks.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1442984119155032064",
      "type": "Default",
      "timestamp": "2025-11-25T21:03:43.355+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yep I'll go back to my Linux box when I need to close DRC. M4 is just faster",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443145256852783170",
      "type": "ThreadCreated",
      "timestamp": "2025-11-26T07:44:01.576+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1442955982153191565",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443201665200033894",
      "type": "Default",
      "timestamp": "2025-11-26T11:28:10.374+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Those CAP violations, I think I am getting them even with vanilla project template, how serious are they?\n\n(So far I couldn’t find a way to get rid of them)",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443201868389023875",
      "type": "Default",
      "timestamp": "2025-11-26T11:28:58.818+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [
        {
          "id": "1443201868212736102",
          "url": "2025-11_media/image0-CE086.jpg",
          "fileName": "image0.jpg",
          "fileSizeBytes": 103052
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443203373087330374",
      "type": "Default",
      "timestamp": "2025-11-26T11:34:57.566+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If they don't lead to slew rate violation, then, they really don't matter AFAIK.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443204034826600491",
      "type": "Default",
      "timestamp": "2025-11-26T11:37:35.337+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I heard there is a way to use the 9-track cells now?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443204106545139832",
      "type": "Default",
      "timestamp": "2025-11-26T11:37:52.436+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I’d like to use them in the multiplexer of my die, since that thing is very performance critical.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443206274023162032",
      "type": "Default",
      "timestamp": "2025-11-26T11:46:29.203+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You didn't use your cell library ? Or do you want 5V support ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443209137184968838",
      "type": "Default",
      "timestamp": "2025-11-26T11:57:51.834+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I need 5V support",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443209655013740604",
      "type": "Default",
      "timestamp": "2025-11-26T11:59:55.294+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You should be able to change it via: `STD_CELL_LIBRARY: gf180mcu_fd_sc_mcu9t5v0`. But there have been no changes to the 9t library.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443211496984281250",
      "type": "Default",
      "timestamp": "2025-11-26T12:07:14.454+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Several people hardened TT projects with 9t without issues.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443217154102005952",
      "type": "Reply",
      "timestamp": "2025-11-26T12:29:43.216+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "...so by omission you're saying there *have* been changes to the 7t library? I'm using 9t, do I need those changes?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443209655013740604",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443217991759167572",
      "type": "Default",
      "timestamp": "2025-11-26T12:33:02.929+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The thing I came here to post was: there are several bugs in the vendor RAM model that seem to be simulation related and not functional details of the RAM macro. What's our policy on patching the models? In particular:\n\n* It drops the first access because it fails to correctly initialise `cen_dly` and `cen_flag_dly`; can be fixed by just using `always_comb` to get a time=0 evaluation\n* It registers its inputs on a 100 ps delayed version of the clock, making it unsuitable for RTL simulations which just have an NBA delay on the input for the next cycle",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443220644123771084",
      "type": "Reply",
      "timestamp": "2025-11-26T12:43:35.302+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "No, there have been no changes to the 7t or 9t library :) I only mentioned this because Tholin wrote: \"I heard there is a way to use the 9-track cells **now**?\" It already worked before.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443217154102005952",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443220771131621408",
      "type": "Default",
      "timestamp": "2025-11-26T12:44:05.583+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah. phew, ok",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443220797379317858",
      "type": "Default",
      "timestamp": "2025-11-26T12:44:11.841+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "heart rate returning to normal",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE01",
            "code": "grin",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f601-4E9BD.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443221214960287877",
      "type": "Reply",
      "timestamp": "2025-11-26T12:45:51.4+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I think it would be great to fix those issues. Preferably in the FOSSi upstream repository.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443217991759167572",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443221407780573234",
      "type": "Default",
      "timestamp": "2025-11-26T12:46:37.372+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Let me just quickly check where open_pdks gets the SRAM sources from, I don't see a FOSSi fork for that.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443221569580040285",
      "type": "Default",
      "timestamp": "2025-11-26T12:47:15.948+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ok sure, added to my list of post-tapeout tasks \uD83D\uDE42 actually I'm curious, is anyone else using the vendor RAM models for RTL sims? I have a behavioural model in my RAM wrapper which I was using until now, but I wanted to run RTL sims with all my manually-instantiated cells enabled so that pulled in the vendor model.",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1443221569676513452",
      "type": "Default",
      "timestamp": "2025-11-26T12:47:15.971+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Aha, it's still the original google repo: https://github.com/RTimothyEdwards/open_pdks/blob/486fb8633c3d95ae475a5ccd68d0066c25919bb5/gf180mcu/Makefile.in#L184",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443221682058956872",
      "type": "Default",
      "timestamp": "2025-11-26T12:47:42.765+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The analog IO pads are still broken and cannot be used with LibreLane, but the fix is easy. Should be possible to upstream.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443221884899557508",
      "type": "Reply",
      "timestamp": "2025-11-26T12:48:31.126+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, I did use it for some very simple tests.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443221569580040285",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443222063077920838",
      "type": "Default",
      "timestamp": "2025-11-26T12:49:13.607+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Huh. And were you driving the inputs from posedge flops or did you have some behavioural delay and/or negedge stuff going on?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443223379854491708",
      "type": "Default",
      "timestamp": "2025-11-26T12:54:27.551+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "There are two things going on in my case:\n\nI was testing the FPGA fabric in my chip and to prevent logic loops during configuration I added delays to it.\nIn the testbench I was waiting two clock cycles before I read the output. I don't remember if the two clock cycles were really necessary, but I was simply happy to get the correct data out again. \uD83D\uDE06 \nI didn't have time to take a closer look since then.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE06",
          "code": "laughing",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f606-BE94E.svg"
        }
      ]
    },
    {
      "id": "1443223478911242322",
      "type": "Default",
      "timestamp": "2025-11-26T12:54:51.168+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "One of the issues I think I saw (not fully diagnosed) is a read where the address changes on the posedge can give you the data from the address after the posedge",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443223536939307060",
      "type": "Default",
      "timestamp": "2025-11-26T12:55:05.003+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah ok if the address is stable over the edge then you won't see issues",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443223719496519782",
      "type": "Default",
      "timestamp": "2025-11-26T12:55:48.528+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm always nervous about patching vendor models but this one does seem quite broken",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443225542290571347",
      "type": "ThreadCreated",
      "timestamp": "2025-11-26T13:03:03.116+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1443221682058956872",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443237097543565542",
      "type": "Default",
      "timestamp": "2025-11-26T13:48:58.103+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": true,
      "content": "\uD83D\uDCE2 Project Template Update!\n\nVersion [1.1.2](https://github.com/wafer-space/gf180mcu-project-template/releases/tag/1.1.2) has been tagged. Notable updates include:\n\n- Support for different slot sizes ◻️◽▫️\n  - This will likely be an option for future shuttles. For the first shuttle, however, smaller slot sizes are still experimental.\n  - You can try this out by setting the `SLOT` variable. See the [README](https://github.com/wafer-space/gf180mcu-project-template?tab=readme-ov-file#choosing-a-different-slot-size) for more information.\n  - The CI now also runs for all slot sizes in the upstream repo `wafer-space/gf180mcu-project-template`: https://github.com/wafer-space/gf180mcu-project-template/actions/runs/19697592187\n- Better SRAM power connections ⚡\n  - `pdn_cfg.tcl`: better connectivity for the SRAM orientations. Please make sure to update your PDN config!\n- The PDK has been updated to 1.1.2\n  - NP.12 and PP.12 reimplemented\n  - Wide metal check fixed\n\nPlease update your projects and PDKs.\nThe latest precheck tag is [1.0.1](https://github.com/wafer-space/gf180mcu-precheck/releases/tag/1.0.1).",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 5,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            },
            {
              "id": "732347216412278825",
              "name": "urish",
              "discriminator": "0000",
              "nickname": "urish",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
            },
            {
              "id": "754661674145022032",
              "name": "noritsunaimamura",
              "discriminator": "0000",
              "nickname": "Noritsuna Imamura",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDCE2",
          "code": "loudspeaker",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f4e2-C9D9D.svg"
        }
      ]
    },
    {
      "id": "1443237159917191300",
      "type": "ChannelPinnedMessage",
      "timestamp": "2025-11-26T13:49:12.974+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Pinned a message.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1443237097543565542",
        "channelId": "1423348662318272592",
        "guildId": null
      },
      "inlineEmojis": []
    },
    {
      "id": "1443239004173762720",
      "type": "Default",
      "timestamp": "2025-11-26T13:56:32.679+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Will quarter slots be 1/4 of the price ? \uD83D\uDE05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443240626698063892",
      "type": "Default",
      "timestamp": "2025-11-26T14:02:59.519+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I assume the cost of packaging will not go down by much. However, regarding the area, that's for @Tim 'mithro' Ansell to say.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443284987611844692",
      "type": "Default",
      "timestamp": "2025-11-26T16:59:15.985+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "▫️<-- that would be great for retro stuff (Z80)!",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443285624772886608",
      "type": "Reply",
      "timestamp": "2025-11-26T17:01:47.896+00:00",
      "timestampEdited": "2025-11-26T17:04:00.849+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tholin I am hardening with both mcu7t5v0 and mcu9t5v0 in parallel. I need (imho ridiculously high) **0.5** slack margins for HOLD violation in case of 7t, but otherwise both work and pass precheck.\nAnd with @htamas help, we tried both in TT.",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        },
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        },
        {
          "id": "543162393413287956",
          "name": "h.tamas",
          "discriminator": "0000",
          "nickname": "htamas",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/1-B2132.png"
        }
      ],
      "reference": {
        "messageId": "1443206274023162032",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443293927380619275",
      "type": "Reply",
      "timestamp": "2025-11-26T17:34:47.392+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I've been using the vendor verilog as well. I assumed it was correct (looking to be a mistake?) and didn't trust myself to write a correct behavior stub. \uD83D\uDE05  I've been getting data in/out but if there was a timing discrepancy I probably chalked it up to my own timing issues and just worked around it in my code",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443221569580040285",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443328191220420878",
      "type": "Reply",
      "timestamp": "2025-11-26T19:50:56.528+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Oh interesting. Do you have the address changing every cycle, on a posedge?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1443293927380619275",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443330531856089261",
      "type": "Reply",
      "timestamp": "2025-11-26T20:00:14.579+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yep. I'm using it for both instruction memory and generic SRAM. so most (all?) of the tests are probably incrementing the address each cycle to fetch a new instruction. the few tests that check branching also jump around but don't hold the same address over multiple clocks. and the general sram tests are just random accesses as well",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443328191220420878",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443330766338654440",
      "type": "Default",
      "timestamp": "2025-11-26T20:01:10.484+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Huhhhh",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443330820960944363",
      "type": "Default",
      "timestamp": "2025-11-26T20:01:23.507+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I do have a somewhat mystery clock delay at the beginning of the core bootup, which I attributed to my own jank code. will have to check when I get home but iirc it's two cycles before things start looking correct",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443330884215374017",
      "type": "Default",
      "timestamp": "2025-11-26T20:01:38.588+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "and you're using the RAM model in both gate sim and behavioural RTL sim?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443331212004298863",
      "type": "Default",
      "timestamp": "2025-11-26T20:02:56.739+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "emmm, maybe? I'm using Spade HDL (transpiles to verilog), so copied/pasted the macro verilog into the spade setup so it can reference for tests. \n\nNot sure if that's gate sim or behavioural? probably behavioural (cocotb tests)",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443331374739226888",
      "type": "Default",
      "timestamp": "2025-11-26T20:03:35.538+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yeah, behavioural. Ok thanks, that's useful information, I need to look at my sims a bit more \uD83D\uDE42 definitely some weird stuff going on in that model",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1443331528779370526",
      "type": "Default",
      "timestamp": "2025-11-26T20:04:12.264+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "i'm praying it's not toooooo terribly off, otherwise my chip is totally not gonna work \uD83D\uDE05",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443331552951140572",
      "type": "Default",
      "timestamp": "2025-11-26T20:04:18.027+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "gate sim would be a simulation of the synthesised (or post-place etc) netlist instead of your (transpiled) source code",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443331577210736831",
      "type": "Default",
      "timestamp": "2025-11-26T20:04:23.811+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "aha",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443331627538448649",
      "type": "Default",
      "timestamp": "2025-11-26T20:04:35.81+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "i should probably figure out how to add some basic tests for that...",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443331921525608508",
      "type": "Default",
      "timestamp": "2025-11-26T20:05:45.902+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "There is already some setup for it in the template's cocotb harness, if you look through where this variable is used in `chip_top_tb.py`:\n```\ngl = os.getenv(\"GL\", False)\n```",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443332027171733717",
      "type": "Default",
      "timestamp": "2025-11-26T20:06:11.09+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "in theory just set that flag. in practice, dragons abound",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE01",
            "code": "grin",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f601-4E9BD.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443332326305042563",
      "type": "Default",
      "timestamp": "2025-11-26T20:07:22.409+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ooh interesting. so theoretically the same cocotb tests would run and should match the behavioural testing pre-synth? will try it out when i get home",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443332522636480717",
      "type": "Default",
      "timestamp": "2025-11-26T20:08:09.218+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "that is the theory. you can have new issues in gate sim like Xs propagating in places they didn't before, but the netlist should be equivalent to your RTL",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443332745089781844",
      "type": "Default",
      "timestamp": "2025-11-26T20:09:02.255+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "rad! that would make me a lot more confident, especially if I can get it run before the payment deadline \uD83D\uDE05",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443332830506516611",
      "type": "Default",
      "timestamp": "2025-11-26T20:09:22.62+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "cheers for the info!",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443348705880178719",
      "type": "Default",
      "timestamp": "2025-11-26T21:12:27.604+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "unrelated: i rented a beefy'ish droplet to run the process flow. turns out despite being memory-short on my laptop, fewer/faster cores still win over more slower cores and lots of memory \uD83D\uDE41",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE41",
          "code": "slight_frown",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f641-E1429.svg"
        }
      ]
    },
    {
      "id": "1443348884666449972",
      "type": "Default",
      "timestamp": "2025-11-26T21:13:10.23+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "looks like quite a few steps are single-core operations. alas",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443354310938198206",
      "type": "Default",
      "timestamp": "2025-11-26T21:34:43.954+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yep, the fastest machine in my house for running this ASIC flow is my macbook air, annoyingly",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443354679713988729",
      "type": "Default",
      "timestamp": "2025-11-26T21:36:11.877+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "it's worse for some commercial ASIC tools because vendors will apply per-core licensing so the optimal play is to buy the fastest single-core machine you can find",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC80",
            "code": "skull",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f480-94524.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443371040368754782",
      "type": "Default",
      "timestamp": "2025-11-26T22:41:12.561+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Gaming machine trend to do well",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443386464107888670",
      "type": "Default",
      "timestamp": "2025-11-26T23:42:29.867+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Good way to justify a new machine \uD83D\uDE09",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE09",
          "code": "wink",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f609-9EC67.svg"
        }
      ]
    },
    {
      "id": "1443411660348850297",
      "type": "Default",
      "timestamp": "2025-11-27T01:22:37.119+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://claude.ai/public/artifacts/77fed888-f1c3-431e-a4d1-7ec42a556241",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "Best Servers for EDA Performance Under $100/Month 2024",
          "url": "https://claude.ai/public/artifacts/77fed888-f1c3-431e-a4d1-7ec42a556241",
          "timestamp": null,
          "description": "Compare dedicated servers vs cloud instances for single-threaded EDA workloads. Hetzner's i9-13900 delivers 40% better performance than AWS/GCP at $91/month.",
          "thumbnail": {
            "url": "2025-11_media/claude_ogimage-1F4D7.png",
            "width": 1138,
            "height": 640
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443425043341246495",
      "type": "Default",
      "timestamp": "2025-11-27T02:15:47.873+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "\"To be compatible with the default breakout PCB, do not change any of the power or ground pads.\"\n\nJust to make sure I understand correctly, I **can** do the wirebond option if I drop a few pwr/gnd pins, I just have to bring my own PCB?",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443426111756435558",
      "type": "Default",
      "timestamp": "2025-11-27T02:20:02.603+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Also, it's been a minute since I used the template, I pulled it in October and have not been following updates. Whoever added the automatic pads is amazing. I remember seeing the pad instances individually laid out on the config.yaml. This is night and day, bravo!",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443525588500353085",
      "type": "Reply",
      "timestamp": "2025-11-27T08:55:19.707+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Hi Trevor, if you want to use the CoB bonding option:\n\n1. Do not change the number of pads on any side. This ensures that the bondpad placement stays exactly the same.\n2. The VSS pads are shorted on the default breakout PCB. This is why you should not change any of the ground pins.\n3. As for whether you can provide your own PCB, @Andrew Wingate should be able to answer that.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "756011607603019777",
          "name": "anfroholic",
          "discriminator": "0000",
          "nickname": "Andrew Wingate",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
        },
        {
          "id": "805909190333038612",
          "name": "trev5514",
          "discriminator": "0000",
          "nickname": "Trevor Peyton",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/2-ADBB4.png"
        }
      ],
      "reference": {
        "messageId": "1443425043341246495",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443525653956792434",
      "type": "Reply",
      "timestamp": "2025-11-27T08:55:35.313+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm glad you appreciate the updated template. Having all pad instances individually was really too much \uD83D\uDE04",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "805909190333038612",
          "name": "trev5514",
          "discriminator": "0000",
          "nickname": "Trevor Peyton",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/2-ADBB4.png"
        }
      ],
      "reference": {
        "messageId": "1443426111756435558",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE04",
          "code": "smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f604-BF863.svg"
        }
      ]
    },
    {
      "id": "1443534341920784414",
      "type": "Default",
      "timestamp": "2025-11-27T09:30:06.685+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Our GDS had errors in the zero polygon and wide metal. (The new check item is functioning properly.)\nWe fixed our GDS, and the new precheck was successful.\nhttps://github.com/ishi-kai/ISHI-KAI_Multiple_Projects_WaferSapce-GF180-1/raw/main/images/precheck_5th_OK.png \n\n- precheck log\nhttps://github.com/ishi-kai/ISHI-KAI_Multiple_Projects_WaferSapce-GF180-1/tree/main/precheck_log/RUN_2025-11-27_10-26-31\n- GDS\nhttps://github.com/ishi-kai/ISHI-KAI_Multiple_Projects_WaferSapce-GF180-1/blob/main/gds/ISHI-KAI_WS_RUN1.zip",
      "author": {
        "id": "754661674145022032",
        "name": "noritsunaimamura",
        "discriminator": "0000",
        "nickname": "Noritsuna Imamura",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4F",
            "code": "clap",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44f-3D381.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "738396032295108721",
              "name": "bailey8889",
              "discriminator": "0000",
              "nickname": "bailey",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/0-EB806.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443608525418004500",
      "type": "Default",
      "timestamp": "2025-11-27T14:24:53.409+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm getting a couple of hundred klayout DRCs in the standard cell region. They're all `CO.6a (i) Metal1 (< 0.34um) end-of-line overlap contact`. Only other mention I found on this discord was https://discord.com/channels/1361349522684510449/1424739011846471740/1424745841952030860. Any ideas what could be causing that? I'm using 9-track cells if that helps",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443608708444586035",
      "type": "Default",
      "timestamp": "2025-11-27T14:25:37.046+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I have to confess I've not merged the project template for about a week and a half, so I could be missing some updates",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443609583930183841",
      "type": "Default",
      "timestamp": "2025-11-27T14:29:05.778+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "here is one point it flagged between 33/0 and 34/0 (presumably m1 and contact). 1 box = 20 nm",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [
        {
          "id": "1443609583712075776",
          "url": "2025-11_media/image-2BF79.png",
          "fileName": "image.png",
          "fileSizeBytes": 26750
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443610204095774883",
      "type": "Default",
      "timestamp": "2025-11-27T14:31:33.637+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://gf180mcu-pdk.readthedocs.io/en/latest/physical_verification/design_manual/drm_07_13.html",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443610258487382088",
      "type": "Default",
      "timestamp": "2025-11-27T14:31:46.605+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm trying to understand the rule but ... it's not super clear TBH \uD83D\uDE05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443610319946780704",
      "type": "Default",
      "timestamp": "2025-11-27T14:32:01.258+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Can you zoom out a bit ? Does the line \"end\" there ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443610380311068682",
      "type": "Default",
      "timestamp": "2025-11-27T14:32:15.65+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I know this rule!",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443610396639367211",
      "type": "Default",
      "timestamp": "2025-11-27T14:32:19.543+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It needs some metal right here",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1443610396572254348",
          "url": "2025-11_media/image-E2FAB.png",
          "fileName": "image.png",
          "fileSizeBytes": 1968
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443610674591961199",
      "type": "Default",
      "timestamp": "2025-11-27T14:33:25.812+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "There is a separate contact overlap minimum for traces that are exactly the minimum-width and at the end of their line.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443610680396877997",
      "type": "Default",
      "timestamp": "2025-11-27T14:33:27.196+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Well KLayout seems convinced it does, but I'm not sure it's not an error in the KLayout deck.\nFor me I see that as falling in the CO.6b case.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443611309047550012",
      "type": "Default",
      "timestamp": "2025-11-27T14:35:57.078+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "When a trace terminates at a contact, then the edge opposite to where the trace extends is the \"end of line\"",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1443611308405559428",
          "url": "2025-11_media/image-C2731.png",
          "fileName": "image.png",
          "fileSizeBytes": 944
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443611377355718757",
      "type": "Default",
      "timestamp": "2025-11-27T14:36:13.364+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "In these cases, additional overlap is needed",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443611429637980260",
      "type": "Reply",
      "timestamp": "2025-11-27T14:36:25.829+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Which is only partially true for the example shown here, but it seems its still covered by the rule.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1443610396639367211",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443611589050892439",
      "type": "Default",
      "timestamp": "2025-11-27T14:37:03.836+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "For now, I suggest adding the affected standard cells to the exclude lists.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443611887983136980",
      "type": "Default",
      "timestamp": "2025-11-27T14:38:15.107+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "OTOH that cell library was made by GF so when there is doubt, I tend to suspect the KLayout deck more.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443611902289641522",
      "type": "Reply",
      "timestamp": "2025-11-27T14:38:18.518+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Actually, the overlap shown here is *tiny.* I doubt this would pass even magic DRC.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1443609583930183841",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443612131344777339",
      "type": "Default",
      "timestamp": "2025-11-27T14:39:13.129+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "CO.6b rule is specially for that case that says if the overlap is less than 40 nm you can \"compensate\" by having a bigger overlap on the adjacent sides.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443612311322628267",
      "type": "Default",
      "timestamp": "2025-11-27T14:39:56.039+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But I agree that excluding the affected cell is the easiest thing to do given the time constraints.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443615538793414868",
      "type": "Default",
      "timestamp": "2025-11-27T14:52:45.528+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "This is a zoom-out of the same region. It doesn't end, just necks down",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [
        {
          "id": "1443615538415669362",
          "url": "2025-11_media/image-BD91D.png",
          "fileName": "image.png",
          "fileSizeBytes": 9350
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443615621832118408",
      "type": "Default",
      "timestamp": "2025-11-27T14:53:05.326+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "actually this looks like it is inside of one of the std cells \uD83E\uDD14",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83E\uDD14",
          "code": "thinking",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f914-15707.svg"
        }
      ]
    },
    {
      "id": "1443615935868043274",
      "type": "Default",
      "timestamp": "2025-11-27T14:54:20.198+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yeah, it's an icgtp_1",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443616540632158381",
      "type": "Default",
      "timestamp": "2025-11-27T14:56:44.385+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "circled it here. from: https://gf180mcu-pdk.readthedocs.io/en/latest/digital/standard_cells/gf180mcu_fd_sc_mcu9t5v0/cells/icgtp/gf180mcu_fd_sc_mcu9t5v0__icgtp_1.html",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [
        {
          "id": "1443616541001252864",
          "url": "2025-11_media/image-90D97.png",
          "fileName": "image.png",
          "fileSizeBytes": 95136
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443616761533698090",
      "type": "Reply",
      "timestamp": "2025-11-27T14:57:37.052+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "it's clean with magic DRC (apart from all the overlapping filler cells)",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1443611902289641522",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443618155246391377",
      "type": "Default",
      "timestamp": "2025-11-27T15:03:09.339+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah I clicked through all 200 CO.6a warnings and they're all the same spot in the `icgtp_1`. I also have four `PL.3a : Space on COMP/Field: 0.24µm` which are just for the four orientations of the same cell. Inclined to waive given it's a foundry cell...",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443618204164427888",
      "type": "Default",
      "timestamp": "2025-11-27T15:03:21.002+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, so for me that's valid and the KLayout DRC is an error.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443618416631218286",
      "type": "Default",
      "timestamp": "2025-11-27T15:04:11.658+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The points flagged by PL.3a are across this neck on 30/0 in the `icgtp_1` cell:",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [
        {
          "id": "1443618416328966144",
          "url": "2025-11_media/image-5D744.png",
          "fileName": "image.png",
          "fileSizeBytes": 23060
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443619017645359347",
      "type": "Default",
      "timestamp": "2025-11-27T15:06:34.951+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "My pattern recognition monkey brain is telling me this is just the two-gate poly on the left-hand side of the cell in my picture",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443619395086585856",
      "type": "Default",
      "timestamp": "2025-11-27T15:08:04.94+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Oh that's definitely a bug right? It's treating it as multiple polygons and saying they violate spacing",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [
        {
          "id": "1443619394709225503",
          "url": "2025-11_media/image-9873B.png",
          "fileName": "image.png",
          "fileSizeBytes": 12386
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443619993462767657",
      "type": "Default",
      "timestamp": "2025-11-27T15:10:27.604+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah, that seems weird to me too. How wide is the neck down ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443620320601964695",
      "type": "Default",
      "timestamp": "2025-11-27T15:11:45.6+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "in x it's about 0.22 um",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443620468203458581",
      "type": "Default",
      "timestamp": "2025-11-27T15:12:20.791+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I wonder if it's actually flagging the y distance between the two horizontals, since it's a spacing rule",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443620511086018640",
      "type": "Default",
      "timestamp": "2025-11-27T15:12:31.015+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(the y distance is around 0.10 um)",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443621055057891530",
      "type": "Default",
      "timestamp": "2025-11-27T15:14:40.708+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I looked at the cell, it all seems good to me.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443621586870472715",
      "type": "Default",
      "timestamp": "2025-11-27T15:16:47.502+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "nice, thank you",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443621613806289148",
      "type": "Default",
      "timestamp": "2025-11-27T15:16:53.924+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I think I'm DRC clean then (for now)",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443621664259833998",
      "type": "Default",
      "timestamp": "2025-11-27T15:17:05.953+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "is it possible to waive a specific cell for the klayout checks? (in librelane)",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443622109720088698",
      "type": "Default",
      "timestamp": "2025-11-27T15:18:52.159+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks for the investigation, that makes things easy for me \uD83D\uDE01\n\nThe easiest path forward is to exclude this cell from synthesis and PnR. Does `_icgtp_2` (if it exists) have the same issues?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE01",
          "code": "grin",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f601-4E9BD.svg"
        }
      ]
    },
    {
      "id": "1443622421780369548",
      "type": "Default",
      "timestamp": "2025-11-27T15:20:06.56+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "1 and 2 both have the metal neck around the via. 4 does not",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443622527401332817",
      "type": "Default",
      "timestamp": "2025-11-27T15:20:31.742+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "they all seem to have the same kink in the poly",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443622641234870396",
      "type": "Default",
      "timestamp": "2025-11-27T15:20:58.882+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'd rather not remove clock gating as it would hurt QoR quite a bit given this cell library lacks DFFEs",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443622857438527691",
      "type": "Default",
      "timestamp": "2025-11-27T15:21:50.429+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "also I think the map file for lighter is buried deep inside librelane or openroad somewhere",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443622997905641606",
      "type": "Default",
      "timestamp": "2025-11-27T15:22:23.919+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Has anyone used Slang and gotten the power ports to work? It looks like yosys-slang doesn't support inout ports?",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443623510667821167",
      "type": "Reply",
      "timestamp": "2025-11-27T15:24:26.171+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It does support them, but I think you need to keep the hierarchy, if I recall correctly. See here: https://github.com/mole99/greyhound-ihp/blob/2a2cf3e284a2f2486b71e48212d01458f55e8a0e/config.yaml#L103",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "805909190333038612",
              "name": "trev5514",
              "discriminator": "0000",
              "nickname": "Trevor Peyton",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2-ADBB4.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "805909190333038612",
          "name": "trev5514",
          "discriminator": "0000",
          "nickname": "Trevor Peyton",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/2-ADBB4.png"
        }
      ],
      "reference": {
        "messageId": "1443622997905641606",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443624167256883221",
      "type": "Reply",
      "timestamp": "2025-11-27T15:27:02.714+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Looks like that worked, thanks!",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443623510667821167",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443624533125894174",
      "type": "Reply",
      "timestamp": "2025-11-27T15:28:29.944+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Alright, I absolutely get your point. The problem with waiving is, there is currently no way to ignore a cell in KLayout with the current setup afaik.\nIn the worst case I can take a manual look at the submission and waive those errors.\nIdeally, I would find the time to fix them before the tapeout, unfortunately time is currently rare.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443622641234870396",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443624727473160233",
      "type": "Default",
      "timestamp": "2025-11-27T15:29:16.28+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Could you open an issue detailing both issues (collecting the info from above)?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443627206575132813",
      "type": "Reply",
      "timestamp": "2025-11-27T15:39:07.344+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ok, in that case is there a way to add a `grep -v` or so to the log lint in librelane?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443624533125894174",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443627470841712813",
      "type": "Default",
      "timestamp": "2025-11-27T15:40:10.35+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Separately I get magic DRC errors for overlapping identical filler cells (I think other people have seen this) and this is harmless afaict but prevents me from running `make copy-final`",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443628030055420026",
      "type": "Default",
      "timestamp": "2025-11-27T15:42:23.677+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What causes  icgtp?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443628085336342741",
      "type": "Default",
      "timestamp": "2025-11-27T15:42:36.857+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "either clock gating inference or manual instantiation (I have both)",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443628227338833921",
      "type": "Default",
      "timestamp": "2025-11-27T15:43:10.713+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "hmm",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443628348592095343",
      "type": "Reply",
      "timestamp": "2025-11-27T15:43:39.622+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "LibreLane counts the DRC errors in the `.lydrb` that was produced by KLayout. So I don't think that would help. You would need a filter inside of that function.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443627206575132813",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443628467257217185",
      "type": "Default",
      "timestamp": "2025-11-27T15:44:07.914+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "how have people waived DRCs on past tapeouts?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443628615987105873",
      "type": "Default",
      "timestamp": "2025-11-27T15:44:43.374+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(I'm filing an issue with all of the pictures)",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443628697310724147",
      "type": "Reply",
      "timestamp": "2025-11-27T15:45:02.763+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I don't think that's the issue. The default template should also have these overlap issues, but they should be ignored by LibreLane afaik.\nIf you get any DRC violations, LibreLane won't create the `final` folder.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443627470841712813",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443629149498638377",
      "type": "Default",
      "timestamp": "2025-11-27T15:46:50.573+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "These are my primitives for GF180.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1443629149196652615",
          "url": "2025-11_media/image-3DC8F.png",
          "fileName": "image.png",
          "fileSizeBytes": 61044
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443629555171725392",
      "type": "Reply",
      "timestamp": "2025-11-27T15:48:27.293+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ohhh you're right, I actually have some new magic DRCs:\n\n```\nPoly overlap of contact < 0.065um (CO.3)\nMV N-Diffusion overlap of contact < 0.065um (CO.4)\n```",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443628697310724147",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443631404486496267",
      "type": "Default",
      "timestamp": "2025-11-27T15:55:48.204+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Here's one of the CO.3 violations: contact poly overlap here in `dffrnq_4`. For scale the thick part of that poly is 500 nm across.",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [
        {
          "id": "1443631404263936031",
          "url": "2025-11_media/image-D21CF.png",
          "fileName": "image.png",
          "fileSizeBytes": 33089
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443633262051328111",
      "type": "Reply",
      "timestamp": "2025-11-27T16:03:11.082+00:00",
      "timestampEdited": "2025-11-27T16:08:40.939+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You won't have any clock gating cells  if you don't explicitly enable it. Also you got lucky and your `dffrnq` (flop with async reset) are all drive=1.",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1443629149498638377",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443640375548842055",
      "type": "Reply",
      "timestamp": "2025-11-27T16:31:27.072+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Oh, I was using some negedge resetn signals. I’ve removed them now.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443633262051328111",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443641048747212921",
      "type": "Default",
      "timestamp": "2025-11-27T16:34:07.575+00:00",
      "timestampEdited": "2025-11-27T16:34:47.31+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "stage 06",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1443641048411934730",
          "url": "2025-11_media/image-2606E.png",
          "fileName": "image.png",
          "fileSizeBytes": 40704
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443642037915226183",
      "type": "Default",
      "timestamp": "2025-11-27T16:38:03.411+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I wrote up those DRC issues with some pictures: https://github.com/wafer-space/gf180mcu-project-template/issues/34",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "9-track foundry standard cells are not clean with KLayout or Magic ...",
          "url": "https://github.com/wafer-space/gf180mcu-project-template/issues/34",
          "timestamp": null,
          "description": "KLayout violations The clock gating cell icgtp_1 is flagged with the following by klayout: CO.6a : (i) Metal1 (&lt; 0.34um) end-of-line overlap contact (Applies to all &lt; 0.34µm wide metal lines,...",
          "color": "#1E2327",
          "thumbnail": {
            "url": "2025-11_media/34-64502",
            "width": 1200,
            "height": 600
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443642401393479902",
      "type": "Default",
      "timestamp": "2025-11-27T16:39:30.071+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Last time, I brought you the neverending LVS run, today, I bring you the Synthesis run from hell:",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1443642401091752118",
          "url": "2025-11_media/image-5B673.png",
          "fileName": "image.png",
          "fileSizeBytes": 9186
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE29",
            "code": "weary",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f629-B734A.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "⁉️",
            "code": "interrobang",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2049-C69C5.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443642465016877238",
      "type": "Reply",
      "timestamp": "2025-11-27T16:39:45.24+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "if you have no async reset in your design then how do you know that resetting your chip puts all the pads into tristate?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1443641048747212921",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443642603831558205",
      "type": "Reply",
      "timestamp": "2025-11-27T16:40:18.336+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "is this still a gate ROM? I found ABC was thinking incredibly hard about my 256-byte ROM and it helped to have a pipestage after it",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1443642401393479902",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443642710698229909",
      "type": "Default",
      "timestamp": "2025-11-27T16:40:43.815+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "No, this is something different.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443642774632009870",
      "type": "Default",
      "timestamp": "2025-11-27T16:40:59.058+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "What does ABC even stand for?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443643060436205588",
      "type": "Default",
      "timestamp": "2025-11-27T16:42:07.199+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://people.eecs.berkeley.edu/~alanmi/abc/",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443643143600996525",
      "type": "Default",
      "timestamp": "2025-11-27T16:42:27.027+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That's a logic mapper used by yosyis.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443645122389606441",
      "type": "Reply",
      "timestamp": "2025-11-27T16:50:18.807+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://gf180mcu-pdk.readthedocs.io/en/latest/IPs/IO/gf180mcu_fd_io/tri_state_2.html",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443642465016877238",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443645864752189521",
      "type": "Default",
      "timestamp": "2025-11-27T16:53:15.8+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yes that's a tristate buffer?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443646164988723302",
      "type": "Default",
      "timestamp": "2025-11-27T16:54:27.382+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "is there an async path from your reset input to OE or do you have to clock the chip to stop it from driving its outputs in reset?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443647166651306116",
      "type": "Reply",
      "timestamp": "2025-11-27T16:58:26.197+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I wrote a DM",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443646164988723302",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443656126519447594",
      "type": "Reply",
      "timestamp": "2025-11-27T17:34:02.396+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Do we need a power-on reset chip?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443646164988723302",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443656309869121777",
      "type": "Default",
      "timestamp": "2025-11-27T17:34:46.11+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "A PoR would be nice for future tapeouts. I'm just treating my reset input pad as a PoR.",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443656586173218957",
      "type": "Reply",
      "timestamp": "2025-11-27T17:35:51.986+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "sonst macht das alles kein Sinn im Chip",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443656309869121777",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443657200366129272",
      "type": "Default",
      "timestamp": "2025-11-27T17:38:18.421+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "tristating all of your outputs when held in reset is pretty common and not just a PoR thing. For example it lets you drive other signals into those PCB traces on your board when you're debugging. If you have two chips on a bidirectional bus and they **both** enable their outputs at reset then that creates drive contention. Etc",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443657517786726591",
      "type": "Default",
      "timestamp": "2025-11-27T17:39:34.1+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "on a real board your chip may be held in reset for some time with its clock stopped while power rails are sequenced",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443661713244160184",
      "type": "Default",
      "timestamp": "2025-11-27T17:56:14.375+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Quick question: instead of a synchronizer, Hirosh could use an async apply and sync remove circuit for the reset. The ouput of this circuit gates the bidir OE and also goes into his circuit. So when you apply the reset, the bidir pads are immediately in a safe state. If you remove the reset, his circuit still works as before. Did I understand this correctly?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443662116589666507",
      "type": "Default",
      "timestamp": "2025-11-27T17:57:50.54+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yep that seems like it would work",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443662187036934217",
      "type": "Default",
      "timestamp": "2025-11-27T17:58:07.336+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "so you have an async reset, which is derived from the reset pad input with an async reset synchroniser",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443662336366874886",
      "type": "Default",
      "timestamp": "2025-11-27T17:58:42.939+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "that resets the pads and also goes into another synchroniser which generates the sync reset used for your digital logic",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443662454369550526",
      "type": "Default",
      "timestamp": "2025-11-27T17:59:11.073+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "something like that would work. I don't think he necessarily needs to make any changes but for a \"production\" chip it's certainly unusual to drive outputs at start of day",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443662686784196671",
      "type": "Default",
      "timestamp": "2025-11-27T18:00:06.485+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Why do you need another synchronizer afterwards? The reset signal is then already asynchronously removed.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443662961943253165",
      "type": "Default",
      "timestamp": "2025-11-27T18:01:12.088+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "depends how your resets are constrained but if you allow async transitions to propagate to a sync reset net then that usually needs a timing exception",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443663017915978019",
      "type": "Default",
      "timestamp": "2025-11-27T18:01:25.433+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "even if it is async apply, sync remove",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443663058517098720",
      "type": "Default",
      "timestamp": "2025-11-27T18:01:35.113+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I see, thanks!",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443663080428015781",
      "type": "Default",
      "timestamp": "2025-11-27T18:01:40.337+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And another one: Without a PoR the outputs can still be in an unknown state during power up, right? Holding the reset low doesn't help in that case, as the input pads could be doing anything?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443663493881401354",
      "type": "Default",
      "timestamp": "2025-11-27T18:03:18.912+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I don't have a simple answer to that and don't fully understand it myself. There's a question there about how the pads behave during ramp-up, and how the logic cells behave at much less than nominal voltage",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443663649364381866",
      "type": "Default",
      "timestamp": "2025-11-27T18:03:55.982+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If you have an async path from the reset that disables the pads then any spurious enable during power supply ramp will at least be a short-lived transient",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443663789131173940",
      "type": "Default",
      "timestamp": "2025-11-27T18:04:29.305+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "\"It's complicated\" is what I thought as well \uD83D\uDE04",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE04",
          "code": "smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f604-BF863.svg"
        }
      ]
    },
    {
      "id": "1443663895418896465",
      "type": "Default",
      "timestamp": "2025-11-27T18:04:54.646+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "my answer as a digital designer is values other than 1 and 0 don't exist and can't hurt me",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE04",
            "code": "smile",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f604-BF863.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443664365671940147",
      "type": "Default",
      "timestamp": "2025-11-27T18:06:46.763+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks for all the tips. It's great to have so many people with different experiences around. There's something for everyone to learn \uD83D\uDC4F",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDC4F",
          "code": "clap",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f44f-3D381.svg"
        }
      ]
    },
    {
      "id": "1443664956473081918",
      "type": "Default",
      "timestamp": "2025-11-27T18:09:07.621+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yeah this project has been a huge learning curve for me. Thanks for all the help, hope I'm not too annoying with flagging issues",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443665373978169405",
      "type": "Default",
      "timestamp": "2025-11-27T18:10:47.162+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "On the contrary, it is greatly appreciated!",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443665392466792540",
      "type": "Default",
      "timestamp": "2025-11-27T18:10:51.57+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@LukeW thank you",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443665412062576640",
      "type": "Default",
      "timestamp": "2025-11-27T18:10:56.242+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1443665411366457515",
          "url": "2025-11_media/image-1022A.png",
          "fileName": "image.png",
          "fileSizeBytes": 86128
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443665460267581521",
      "type": "Default",
      "timestamp": "2025-11-27T18:11:07.735+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1443665460439683092",
          "url": "2025-11_media/image-0447D.png",
          "fileName": "image.png",
          "fileSizeBytes": 37978
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443665514076438722",
      "type": "Default",
      "timestamp": "2025-11-27T18:11:20.564+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) thank you \uD83D\uDE42",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1443665674466496608",
      "type": "Default",
      "timestamp": "2025-11-27T18:11:58.804+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Now only the synchronizer to the core is missing \uD83D\uDC4D",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDC4D",
          "code": "thumbsup",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f44d-27259.svg"
        }
      ]
    },
    {
      "id": "1443665742502297712",
      "type": "Reply",
      "timestamp": "2025-11-27T18:12:15.025+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Functionally looks good, might look funny in STA though. I would add a false path between the synchroniser output and the pad OE signals",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1443665412062576640",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443666027031433347",
      "type": "Reply",
      "timestamp": "2025-11-27T18:13:22.862+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "is inside the soc",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4C",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443665674466496608",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443666998482567289",
      "type": "Reply",
      "timestamp": "2025-11-27T18:17:14.474+00:00",
      "timestampEdited": "2025-11-27T18:19:16.381+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Could I use (* async_reg=\"true\" *) reg [1:0] ff;",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443665742502297712",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443668604947267625",
      "type": "Reply",
      "timestamp": "2025-11-27T18:23:37.485+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Maybe @LukeW Do you have an example to set false path. I think I need it for 2 signals \uD83D\uDE09",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443666998482567289",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE09",
          "code": "wink",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f609-9EC67.svg"
        }
      ]
    },
    {
      "id": "1443668759922348144",
      "type": "Default",
      "timestamp": "2025-11-27T18:24:14.434+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://github.com/Wren6991/RISCBoy-180/blob/bb4540d8b1ee8493448395a5b010c80b37377010/librelane/chip_top.sdc",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443669485776146483",
      "type": "Default",
      "timestamp": "2025-11-27T18:27:07.491+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Most of them come from this wildcard:\n\n```tcl\n# Apply RTL-inserted false path constraints (setup/hold only, still constrain slew)\nset_false_path -setup -hold -through [get_pins *.magic_falsepath_anchor_u/Z]\n```\n\nAnd then there is an RTL module that inserts magic buffers for the constraints:\n\nhttps://github.com/Wren6991/RISCBoy-180/blob/bb4540d8b1ee8493448395a5b010c80b37377010/hdl/cells/falsepath_anchor.v",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443670493587701870",
      "type": "Default",
      "timestamp": "2025-11-27T18:31:07.772+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can also do it directly in the sdc, something like `set_false_path -setup -hold -from sync_reg_name_here/Q -to *_PAD/OE` but it's a bit cumbersome in this flow because flops don't have predictable names unless you instantiate them yourself",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443675548856619008",
      "type": "Reply",
      "timestamp": "2025-11-27T18:51:13.042+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Hi-z",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1443675548550303834",
          "url": "2025-11_media/image-1B123.png",
          "fileName": "image.png",
          "fileSizeBytes": 21293
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1443665412062576640",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443676405916369038",
      "type": "Default",
      "timestamp": "2025-11-27T18:54:37.381+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": true,
      "content": "⚙️ Update to the precheck, version [1.2.1](https://github.com/wafer-space/gf180mcu-precheck/releases/tag/1.2.1).\n\n- Zero area polygons are checked.\n- The layout origin and size are checked depending on the selected slot size, the default is `1x1`.\n- Ensure that `PDK_ROOT` and `PDK` are set.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "754661674145022032",
              "name": "noritsunaimamura",
              "discriminator": "0000",
              "nickname": "Noritsuna Imamura",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "⚙",
          "code": "⚙",
          "isAnimated": false,
          "imageUrl": "2025-11_media/2699-A9D25.svg"
        }
      ]
    },
    {
      "id": "1443676465026826342",
      "type": "ChannelPinnedMessage",
      "timestamp": "2025-11-27T18:54:51.474+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Pinned a message.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1443676405916369038",
        "channelId": "1423348662318272592",
        "guildId": null
      },
      "inlineEmojis": []
    },
    {
      "id": "1443677963672486121",
      "type": "Default",
      "timestamp": "2025-11-27T19:00:48.779+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "will try in on ttgf0p2",
      "author": {
        "id": "732347216412278825",
        "name": "urish",
        "discriminator": "0000",
        "nickname": "urish",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443678067854676168",
      "type": "Default",
      "timestamp": "2025-11-27T19:01:13.618+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "https://github.com/TinyTapeout/tinytapeout-gf-0p2/actions/runs/19745733739",
      "author": {
        "id": "732347216412278825",
        "name": "urish",
        "discriminator": "0000",
        "nickname": "urish",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443686305811791924",
      "type": "Reply",
      "timestamp": "2025-11-27T19:33:57.7+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Should I apply the same approach to the FPGA as well?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443670493587701870",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443699546122223656",
      "type": "Default",
      "timestamp": "2025-11-27T20:26:34.436+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can? FPGAs normally already handle this with their own PoR, before your bitstream ever loads",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D\uD83C\uDFFB",
            "code": "thumbsup_tone1",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-1f3fb-ED2AA.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443700448853758102",
      "type": "Default",
      "timestamp": "2025-11-27T20:30:09.664+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, that's what I thought, which is why I wanted to ask you again.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443721711903178772",
      "type": "Reply",
      "timestamp": "2025-11-27T21:54:39.17+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1443721711601324142",
          "url": "2025-11_media/image-EA595.png",
          "fileName": "image.png",
          "fileSizeBytes": 73014
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443646164988723302",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443738894305595545",
      "type": "Default",
      "timestamp": "2025-11-27T23:02:55.774+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Update to the precheck, version 1.2.1.\nAll Green!\nhttps://github.com/ishi-kai/ISHI-KAI_Multiple_Projects_WaferSapce-GF180-1/raw/main/images/precheck_6th_OK.png",
      "author": {
        "id": "754661674145022032",
        "name": "noritsunaimamura",
        "discriminator": "0000",
        "nickname": "Noritsuna Imamura",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/ba250adfde87b0f7a20559209aaf5bac-0CCB8.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "",
          "url": "https://github.com/ishi-kai/ISHI-KAI_Multiple_Projects_WaferSapce-GF180-1/raw/main/images/precheck_6th_OK.png",
          "timestamp": null,
          "description": "",
          "thumbnail": {
            "url": "2025-11_media/precheck_6th_OK-BEC4F.png",
            "width": 1099,
            "height": 609
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443754111227924531",
      "type": "Default",
      "timestamp": "2025-11-28T00:03:23.771+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Is there a \"routing keep-out\" layer I can define in KLayout?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443756483367141486",
      "type": "Reply",
      "timestamp": "2025-11-28T00:12:49.333+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can add a macro with an empty .gds and a .lef file with an `OBS` block containing a rectangle on the right metal layer. I don't think klayout can write .lef files but they are easy to write by hand.",
      "author": {
        "id": "543162393413287956",
        "name": "h.tamas",
        "discriminator": "0000",
        "nickname": "htamas",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/1-B2132.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1443754111227924531",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443757590482784367",
      "type": "Default",
      "timestamp": "2025-11-28T00:17:13.29+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "```\nVERSION 5.7 ;\n  NOWIREEXTENSIONATPIN ON ;\n  DIVIDERCHAR \"/\" ;\n  BUSBITCHARS \"[]\" ;\nMACRO whatever\n  CLASS COVER ;\n  FOREIGN whatever ;\n  ORIGIN 0.000 0.000 ;\n  SIZE 100.000 BY 100.000 ;\n  OBS\n    LAYER Metal2 ;\n    RECT 25.000 25.000 75.000 75.000 ;\n  END\nEND whatever\nEND LIBRARY\n```",
      "author": {
        "id": "543162393413287956",
        "name": "h.tamas",
        "discriminator": "0000",
        "nickname": "htamas",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/1-B2132.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443759516805234800",
      "type": "Reply",
      "timestamp": "2025-11-28T00:24:52.561+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tholin you may already be aware, but I believe you can also specify obstruction areas in the openlane config file.",
      "author": {
        "id": "738396032295108721",
        "name": "bailey8889",
        "discriminator": "0000",
        "nickname": "bailey",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/0-EB806.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1443754111227924531",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443765391191969842",
      "type": "Default",
      "timestamp": "2025-11-28T00:48:13.124+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Sorry, let me rephrase: how can I block *just* routing while leaving the PDN free to do what it wants?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443768563499274251",
      "type": "Default",
      "timestamp": "2025-11-28T01:00:49.461+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "is there somewhere in the flow that lists overall stats like total transistors, etc?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443770456359436389",
      "type": "Default",
      "timestamp": "2025-11-28T01:08:20.754+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Every step in a run should have a `state_out.json`. Have a look at the `metrics` key in the JSON file, maybe that has what you're looking for?",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443770680272486532",
      "type": "Default",
      "timestamp": "2025-11-28T01:09:14.139+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "```\n        \"design__instance__count__stdcell\": 116005,\n        \"design__instance__area__stdcell\": 2878000,\n        \"design__instance__count__macros\": 28,\n        \"design__instance__area__macros\": 5360940,\n        \"design__instance__count__padcells\": 1136,\n        \"design__instance__area__padcells\": 5271000,\n        \"design__instance__count__cover\": 0,\n        \"design__instance__area__cover\": 0,\n        \"design__instance__utilization\": 0.63858,\n        \"design__instance__utilization__stdcell\": 0.381646,\n        \"design__rows\": 3408,\n        \"design__rows:GF018hv5v_green_sc9\": 3408,\n        \"design__sites\": 2496942,\n        \"design__sites:GF018hv5v_green_sc9\": 2496942,\n        \"design__instance__count__class:macro\": 28,\n        \"design__instance__area__class:macro\": 5360940,\n        \"design__instance__count__class:input_pad\": 3,\n        \"design__instance__area__class:input_pad\": 78750,\n        \"design__instance__count__class:input_output_pad\": 53,\n        \"design__instance__area__class:input_output_pad\": 1391250,\n        \"design__instance__count__class:power_pad\": 18,\n        \"design__instance__area__class:power_pad\": 472500,\n        \"design__instance__count__class:tie_cell\": 383,\n        \"design__instance__area__class:tie_cell\": 4323.92,\n        \"design__instance__count__class:buffer\": 2135,\n        \"design__instance__area__class:buffer\": 42671.9,\n        \"design__instance__count__class:inverter\": 7722,\n        \"design__instance__area__class:inverter\": 89255.6,\n        \"design__instance__count__class:clock_gate_cell\": 613,\n        \"design__instance__area__class:clock_gate_cell\": 50137.1,\n        \"design__instance__count__class:sequential_cell\": 7291,\n        \"design__instance__area__class:sequential_cell\": 568677,\n        \"design__instance__count__class:multi_input_combinational_cell\": 48145,\n        \"design__instance__area__class:multi_input_combinational_cell\": 912403,\n```\n\nMaybe more detail than you wanted \uD83D\uDE42",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1443771305504669837",
      "type": "Default",
      "timestamp": "2025-11-28T01:11:43.206+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Doesn't go down to transistor count unfortunately because the design flow is working with bigger units than transistors. If you wanted a transistor count you could write some script to scrape the transistors from the std cell spice netlist `gf180mcu/gf180mcuD/libs.ref/gf180mcu_fd_sc_mcu7t5v0/spice/gf180mcu_fd_sc_mcu7t5v0.spice` and then multiply by instance counts scraped from your netlist",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443813123088847009",
      "type": "Default",
      "timestamp": "2025-11-28T03:57:53.295+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "When using the slang frontend, I'm seeing errors, this line in config.yaml suggested this was a tested option. Maybe I'm the first to try it \uD83D\uDE05 \n```\n# Enable plugin for better SystemVerilog support\nUSE_SLANG: True\n```\n\nThe error seems to be slang's handling of the VDD/VSS connecting in the netlist it passes through to yosys. Not liking the `inout` type.\n```\nuse_slang\n6. Executing SLANG frontend.\nsrc/chip_core.sv:12:17: error: direction 'InOut' on inlined port connection unsupported\ninout  wire VDD,\n^\nsrc/chip_core.sv:13:17: error: direction 'InOut' on inlined port connection unsupported\ninout  wire VSS,\n^\nsrc/chip_core.sv:32:39: error: direction 'InOut' on inlined port connection unsupported\ninout  wire [NUM_ANALOG_PADS-1:0] analog  // Analog\n^\nERROR: Compilation failed \n```",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443813616573878335",
      "type": "Default",
      "timestamp": "2025-11-28T03:59:50.951+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I was seeing this with a custom design that's using some systemverilog feature to carry arrays of signals into a module. Which plain yosys does not understand.\nBut I have confirmed the issue with the vanilla template.",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443815629139218554",
      "type": "Reply",
      "timestamp": "2025-11-28T04:07:50.784+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "apparently there is a workaround: https://discord.com/channels/1361349522684510449/1423348662318272592/1443623510667821167",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "274535015969456128",
              "name": "greg.hashtag.9468",
              "discriminator": "0000",
              "nickname": "Greg",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "274535015969456128",
          "name": "greg.hashtag.9468",
          "discriminator": "0000",
          "nickname": "Greg",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
        }
      ],
      "reference": {
        "messageId": "1443813123088847009",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443815951022817393",
      "type": "Default",
      "timestamp": "2025-11-28T04:09:07.527+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ahh, I should have searched this channel before asking :doh:",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443833390322290851",
      "type": "Default",
      "timestamp": "2025-11-28T05:18:25.38+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "New error, but this time I'm pretty sure it's related to my RTL \n```\n6. Executing SLANG frontend.\nERROR: Assert `count_id(cell->name) == 0' failed in kernel/rtlil.cc:2624.\n```",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443843361487192109",
      "type": "Default",
      "timestamp": "2025-11-28T05:58:02.691+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Has anyone used Fault with this template? I've never used it before and hoping for an easy integration, any tips would be welcome!",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443860622193328128",
      "type": "Reply",
      "timestamp": "2025-11-28T07:06:37.964+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It is probably more advisable to create a macro with DFT support and integrate this macro into the chip.\n\nThe successor to Fault is Difetto: https://github.com/donn/difetto/tree/main",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "805909190333038612",
          "name": "trev5514",
          "discriminator": "0000",
          "nickname": "Trevor Peyton",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/2-ADBB4.png"
        }
      ],
      "reference": {
        "messageId": "1443843361487192109",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443867514336444487",
      "type": "Reply",
      "timestamp": "2025-11-28T07:34:01.179+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks I'll look into that!",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443860622193328128",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443867797980581969",
      "type": "Default",
      "timestamp": "2025-11-28T07:35:08.805+00:00",
      "timestampEdited": "2025-11-28T07:35:27.942+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Has anyone seen this?\n\n`XOR: missing required input 'mag_gds'`\n\nI get it at the end of a run during the KLayout vs. Magic XOR step.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443868133369839707",
      "type": "Default",
      "timestamp": "2025-11-28T07:36:28.768+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Did you disable the magic streamout step by any chance ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443868826176327690",
      "type": "Default",
      "timestamp": "2025-11-28T07:39:13.946+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I pulled a fresh template earlier today and haven't changed the config except for macros and to use SLANG.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443869816216748122",
      "type": "Default",
      "timestamp": "2025-11-28T07:43:09.99+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "```tcl\nmeta:\n  version: 3\n  flow: Chip\n  substituting_steps:\n    # Disable KLayout DRC\n    #KLayout.DRC: null\n    #Checker.KLayoutDRC: null\n\n    # Disable KLayout antenna check\n    KLayout.Antenna: null\n    Checker.KLayoutAntenna: null\n\n    # Disable KLayout density check\n    #KLayout.Density: null\n    #Checker.KLayoutDensity: null\n\n    # Save time during development\n    # Enable for sign-off\n    #OpenROAD.IRDropReport: null\n    #Magic.DRC: null\n    #Checker.MagicDRC: null\n    #KLayout.XOR: null\n    #Netgen.LVS: null\n    #Checker.LVS: null\n\nPRIMARY_GDSII_STREAMOUT_TOOL: klayout\n```\n\nThis is some relevant lines from the config.yaml.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443871184851701832",
      "type": "Reply",
      "timestamp": "2025-11-28T07:48:36.298+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Are you using macOS by any chance?\n@LukeW Didn't you encounter this error as well?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        },
        {
          "id": "805909190333038612",
          "name": "trev5514",
          "discriminator": "0000",
          "nickname": "Trevor Peyton",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/2-ADBB4.png"
        }
      ],
      "reference": {
        "messageId": "1443867797980581969",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443871856770809909",
      "type": "Default",
      "timestamp": "2025-11-28T07:51:16.496+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "In the `runs` directory, do you see it running magic stream out ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443873516880531597",
      "type": "Reply",
      "timestamp": "2025-11-28T07:57:52.297+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, I am on a mac.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443871184851701832",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443874236061061174",
      "type": "Reply",
      "timestamp": "2025-11-28T08:00:43.763+00:00",
      "timestampEdited": "2025-11-28T08:01:07.452+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes... Interestingly the log shows:\n\nUp at the top (not sure if this is important just caught my eye):\n`Using NULL graphics device.`\n\nThen at the bottom:\n`Cannot open .../librelane/runs/RUN_2025-11-28_00-08-28/73-magic-streamout/chip_top.magic.gds to write GDS-II stream output`\n\nI only have a `chip_top.mag` , no .magic.gds.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1443871856770809909",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443875723340152863",
      "type": "Default",
      "timestamp": "2025-11-28T08:06:38.358+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "NULL is normal, just means it's running in console, no GUI output.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443875749345103915",
      "type": "Default",
      "timestamp": "2025-11-28T08:06:44.558+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The bottom one is not normal \uD83D\uDE42",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1443879406962610287",
      "type": "Reply",
      "timestamp": "2025-11-28T08:21:16.602+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Now I remember, you likely reached the limit of max open file handlers!\nYou can try to increase it with `ulimit`. A proper fix would be for LibreLane to tell magic it doesn't have to lock the files. It's on my list...",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "805909190333038612",
          "name": "trev5514",
          "discriminator": "0000",
          "nickname": "Trevor Peyton",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/2-ADBB4.png"
        }
      ],
      "reference": {
        "messageId": "1443874236061061174",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443890411054825483",
      "type": "Reply",
      "timestamp": "2025-11-28T09:05:00.182+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Passed!",
      "author": {
        "id": "732347216412278825",
        "name": "urish",
        "discriminator": "0000",
        "nickname": "urish",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "492702620759228416",
              "name": "mattvenn",
              "discriminator": "0000",
              "nickname": "Matt Venn",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/aa8560ba40f1f3d339d044dee6970630-97A62.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "reference": {
        "messageId": "1443678067854676168",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443892012133781618",
      "type": "Reply",
      "timestamp": "2025-11-28T09:11:21.909+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You could probably use the prebuilt docker containers @ https://github.com/wafer-space/gf180mcu-precheck/pkgs/container/gf180mcu-precheck",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "Build software better, together",
          "url": "https://github.com/wafer-space/gf180mcu-precheck/pkgs/container/gf180mcu-precheck",
          "timestamp": null,
          "description": "GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.",
          "color": "#1E2327",
          "image": {
            "url": "2025-11_media/github-logo-55c5b9a1fe52-4FC66.png",
            "width": 1200,
            "height": 1200
          },
          "images": [
            {
              "url": "2025-11_media/github-logo-55c5b9a1fe52-4FC66.png",
              "width": 1200,
              "height": 1200
            }
          ],
          "fields": [],
          "inlineEmojis": []
        },
        {
          "title": "",
          "url": "https://github.com/wafer-space/gf180mcu-precheck/pkgs/container/gf180mcu-precheck",
          "timestamp": null,
          "description": "",
          "image": {
            "url": "2025-11_media/github-mark-57519b92ca4e-A0C13.png",
            "width": 1200,
            "height": 630
          },
          "images": [
            {
              "url": "2025-11_media/github-mark-57519b92ca4e-A0C13.png",
              "width": 1200,
              "height": 630
            }
          ],
          "fields": [],
          "inlineEmojis": []
        },
        {
          "title": "",
          "url": "https://github.com/wafer-space/gf180mcu-precheck/pkgs/container/gf180mcu-precheck",
          "timestamp": null,
          "description": "",
          "image": {
            "url": "2025-11_media/github-octocat-13c86b8b336d-42CA8.png",
            "width": 1200,
            "height": 630
          },
          "images": [
            {
              "url": "2025-11_media/github-octocat-13c86b8b336d-42CA8.png",
              "width": 1200,
              "height": 630
            }
          ],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "732347216412278825",
          "name": "urish",
          "discriminator": "0000",
          "nickname": "urish",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
        }
      ],
      "reference": {
        "messageId": "1443890411054825483",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443893081392025743",
      "type": "Reply",
      "timestamp": "2025-11-28T09:15:36.84+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks, I'll check it out.",
      "author": {
        "id": "738396032295108721",
        "name": "bailey8889",
        "discriminator": "0000",
        "nickname": "bailey",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/0-EB806.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1443892012133781618",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443898425018941511",
      "type": "Reply",
      "timestamp": "2025-11-28T09:36:50.86+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I maxed my limit, and unfortunately, the error still persists.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443879406962610287",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443975049190183024",
      "type": "Reply",
      "timestamp": "2025-11-28T14:41:19.486+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "For now, it might be the best path forward to use a Linux machine to build the complete ASIC.\nUnfortunately, there seem to be a number of differences between the Linux and macOS versions of the tools.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "805909190333038612",
              "name": "trev5514",
              "discriminator": "0000",
              "nickname": "Trevor Peyton",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2-ADBB4.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "805909190333038612",
          "name": "trev5514",
          "discriminator": "0000",
          "nickname": "Trevor Peyton",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/2-ADBB4.png"
        }
      ],
      "reference": {
        "messageId": "1443898425018941511",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443976415384043725",
      "type": "Reply",
      "timestamp": "2025-11-28T14:46:45.212+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The issue I had was on Ubuntu 24 LTS. I was getting a zero bytes magic GDS because magic failed to open some of the IP mag files. I found my soft open file limit was 1024 and increasing it with `ulimit -Sn 4096` solved that particular issue.\n\nOn MacOS I have a different issue which is that I get actual XORs between KLayout and Magic GDS. I didn't diagnose that, I just stopped using MacOS for now (it also tends to crash in the detailed router).",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443871184851701832",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443976831928893470",
      "type": "Default",
      "timestamp": "2025-11-28T14:48:24.524+00:00",
      "timestampEdited": "2025-11-28T14:48:35.205+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Possibly related is someone on sky130 had klayout on MacOS hallucinate DRC violations that weren't there ( and don't show up when running klayout on linux ).",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443979042251608196",
      "type": "Default",
      "timestamp": "2025-11-28T14:57:11.506+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, he created an issue: https://github.com/KLayout/klayout/issues/2231",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443981439829020672",
      "type": "Reply",
      "timestamp": "2025-11-28T15:06:43.133+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "this'll do, thanks! I assume the cells used in a macro are counted in the instance stdcell count? was trying to get a sense for how many transistors/cells were in my logic but not the sram macros. Not really important, just curious \uD83D\uDE42",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1443770456359436389",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1443981680489664653",
      "type": "Default",
      "timestamp": "2025-11-28T15:07:40.511+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I think the SRAM macros are just counted as whole macros, so they don't appear in the cell instance counts there. They're usually custom layout, not standard cells",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443981799893111049",
      "type": "Default",
      "timestamp": "2025-11-28T15:08:08.979+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "for a rough transistor count estimate just multiply the number of SRAM bits by 6",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443982300978352219",
      "type": "Default",
      "timestamp": "2025-11-28T15:10:08.447+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "oh awesome, that's perfect. cheers",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444072238776057897",
      "type": "Default",
      "timestamp": "2025-11-28T21:07:31.289+00:00",
      "timestampEdited": "2025-11-28T21:17:27.839+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I’d like to share how GF180mcu KianV ASIC SoC will behave.\nIt currently runs on an FPGA at 30 MHz, using the same setup we have on wafer.space GF180mcu.\nWe’ll show a short demo over the serial console; the rest will be  over Telnet, we support spi/ethernet on the chip.\nThe design will become a tiny Linux network SoC. It already runs XV6 (the MIT teaching Unix) , and μLinux.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444072238428196874",
          "url": "2025-11_media/Screencast_from_2025-11-28_22-01-42-D65CD.webm",
          "fileName": "Screencast_from_2025-11-28_22-01-42.webm",
          "fileSizeBytes": 6228718
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 4,
          "users": [
            {
              "id": "274535015969456128",
              "name": "greg.hashtag.9468",
              "discriminator": "0000",
              "nickname": "Greg",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
            },
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "805909190333038612",
              "name": "trev5514",
              "discriminator": "0000",
              "nickname": "Trevor Peyton",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2-ADBB4.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDF1",
            "code": "regional_indicator_l",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1f1-B2572.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDEE",
            "code": "regional_indicator_i",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1ee-3EA80.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDF3",
            "code": "regional_indicator_n",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1f3-6F811.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDFA",
            "code": "regional_indicator_u",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1fa-B30D6.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDFD",
            "code": "regional_indicator_x",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1fd-BFCB6.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444084312537305159",
      "type": "Default",
      "timestamp": "2025-11-28T21:55:29.898+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Kernel 6.18.0-rc5 riscv32",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444084312181051533",
          "url": "2025-11_media/image-E0320.png",
          "fileName": "image.png",
          "fileSizeBytes": 47450
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDFC",
            "code": "regional_indicator_w",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1fc-98795.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDE6",
            "code": "regional_indicator_a",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1e6-19170.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDEB",
            "code": "regional_indicator_f",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1eb-9D845.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDEA",
            "code": "regional_indicator_e",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1ea-6381F.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDF7",
            "code": "regional_indicator_r",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1f7-4320E.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444104465777950805",
      "type": "ThreadCreated",
      "timestamp": "2025-11-28T23:15:34.805+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1443879406962610287",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444104751691333682",
      "type": "Reply",
      "timestamp": "2025-11-28T23:16:42.972+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "How are you running the precheck on GitHub Actions? Are you using custom runners? I thought that the precheck was too resource heavy for the actions?",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "732347216412278825",
          "name": "urish",
          "discriminator": "0000",
          "nickname": "urish",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
        }
      ],
      "reference": {
        "messageId": "1443890411054825483",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444105413493784667",
      "type": "Reply",
      "timestamp": "2025-11-28T23:19:20.758+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@carlfk / @asic destroyer - Do you think we could get this running on fpgas.online? I'm guessing the issue is SDRAM controller and https://fpgas.online only having Arty boards with DDR3? \n\n@carlfk - Did I ever end up giving you ulx3s boards or did they all end up in my shipping container? I think I had them as the 3rd priority FPGAs to get onto https://fpgas.online behind the NeTV2 boards?",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "443147704126668801",
          "name": "carlfk",
          "discriminator": "0000",
          "nickname": "carlfk",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
        },
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1444072238776057897",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444106019964850207",
      "type": "Reply",
      "timestamp": "2025-11-28T23:21:45.352+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I don't think you gave me or I have any ulx3s",
      "author": {
        "id": "443147704126668801",
        "name": "carlfk",
        "discriminator": "0000",
        "nickname": "carlfk",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/1a82fc0f66527d60b3c96bb31aabbbea-CF9A7.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "reference": {
        "messageId": "1444105413493784667",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444106164114817074",
      "type": "Default",
      "timestamp": "2025-11-28T23:22:19.72+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@asic destroyer - I assume you are using ulx3s boards?",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444106262043295885",
      "type": "Default",
      "timestamp": "2025-11-28T23:22:43.068+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, best board on earth \uD83D\uDE42",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1444107085305348186",
      "type": "Default",
      "timestamp": "2025-11-28T23:25:59.349+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The FPGA design targets multiple boards.\n\nASIC  and ULX3s  differs  only in the top-level  module.\nThe underlying hierarchy remains identical in behavior.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444107318512844972",
      "type": "Default",
      "timestamp": "2025-11-28T23:26:54.95+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I need only 32MiB SDRAM, I could built top for ARTIX7, ecp5, cyclone, gatemate, ...",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444107591134220413",
      "type": "Default",
      "timestamp": "2025-11-28T23:27:59.948+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim 'mithro' Ansell @GoranMahovlic sells ulx3s on https://www.ebay.de/itm/385678851894?_skw=ulx3s&itmmeta=01KB6CNS3DATNKFMD1BADXY67H&hash=item59cc403f36:g:EbYAAOSwdBpjvJtw&itmprp=enc%3AAQAKAAAA4FkggFvd1GGDu0w3yXCmi1fwK1STpgN5pylpk0DDHI4qgOMwtWMnwHddsMaZ--aq3DW7e3EB8j26DYmkpKx441kiUMlJEmXbwEMNnBW7WPlmo61%2FPLyYGXGuiYPxwJymjdgnkgawKFn0aUZLj6ciIwu7V5bQdM2l3YaVkC3ZJ5Ai6WuIb0GcpLzbmOTZbEXIHHz3VEGlr8alajydtJqUfaQeXUS74VKBttzRMap%2FJEPuQYDY5W%2BG2KqT6kCAC5MM1Z9NmjHYoWPaGpRD9kQiXn3N3r%2B83W3rk92piNCIaEjn%7Ctkp%3ABk9SR-KS18zZZg",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "ULX3S with ECP5 12F Entwicklungsboard Open Source 32 MB RAM  | eBay.de",
          "url": "https://www.ebay.de/itm/385678851894?_skw=ulx3s&itmmeta=01KB6CNS3DATNKFMD1BADXY67H&hash=item59cc403f36:g:EbYAAOSwdBpjvJtw&itmprp=enc%3AAQAKAAAA4FkggFvd1GGDu0w3yXCmi1fwK1STpgN5pylpk0DDHI4qgOMwtWMnwHddsMaZ--aq3DW7e3EB8j26DYmkpKx441kiUMlJEmXbwEMNnBW7WPlmo61%2FPLyYGXGuiYPxwJymjdgnkgawKFn0aUZLj6ciIwu7V5bQdM2l3YaVkC3ZJ5Ai6WuIb0GcpLzbmOTZbEXIHHz3VEGlr8alajydtJqUfaQeXUS74VKBttzRMap%2FJEPuQYDY5W%2BG2KqT6kCAC5MM1Z9NmjHYoWPaGpRD9kQiXn3N3r%2B83W3rk92piNCIaEjn%7Ctkp%3ABk9SR-KS18zZZg",
          "timestamp": null,
          "description": "ULX3S - A powerful, open hardware ECP5 FPGA dev board. Finally, if you are just starting out with FPGAs, you can use the Arduino IDE to program ULX3S in seconds. FPGA: Lattice ECP5. LFE5U-12F-6BG381I (12K LUT).",
          "thumbnail": {
            "url": "2025-11_media/s-l400-E3C0D.jpg",
            "width": 400,
            "height": 225
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        },
        {
          "id": "533781617873911819",
          "name": "goran.mahovlic",
          "discriminator": "0000",
          "nickname": "GoranMahovlic",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/0-EB806.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444107892491030721",
      "type": "Default",
      "timestamp": "2025-11-28T23:29:11.797+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I had a video chat with @GoranMahovlic a while back and he offered to help with supplying the ulx3s for https://fpgas.online and wafer.space related stuff",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "533781617873911819",
          "name": "goran.mahovlic",
          "discriminator": "0000",
          "nickname": "GoranMahovlic",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/0-EB806.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444108630587871373",
      "type": "Default",
      "timestamp": "2025-11-28T23:32:07.773+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The designs fits into 12f",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444109183686279298",
      "type": "Default",
      "timestamp": "2025-11-28T23:34:19.642+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Do you want ASIC-like behavior, or can I optimize it further? I can add more cache (more ways), more TLBs, and still clock it at 70 MHz on the ECP5.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444109511450427512",
      "type": "Default",
      "timestamp": "2025-11-28T23:35:37.787+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I support these models",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444109511014092922",
          "url": "2025-11_media/image-68F5E.png",
          "fileName": "image.png",
          "fileSizeBytes": 17092
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444109813062697111",
      "type": "Default",
      "timestamp": "2025-11-28T23:36:49.697+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "But after the deadline, I’m going to heavily rework this repo so it’s based on the ASIC design. After that, I’ll probably only support ULX3S, iCEPi, and the QMTech Wukong.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444154016639750337",
      "type": "Default",
      "timestamp": "2025-11-29T02:32:28.651+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "some dumb pad questions \uD83D\uDE43  :\n\n- we can reconfigure input vs bidirectional pads to suit our design, right? should we leave VDD/VSS alone?\n- what's the actual difference between input and bidir? bidir just has extra stuff for sourcing output current or something? (i.e. why would you prefer input over bidir set to input)\n- what should I do with unused pins? Set to bidir and bidir_ie = 0 \"ignore pad\" ?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE43",
          "code": "upside_down",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f643-F8BDC.svg"
        }
      ]
    },
    {
      "id": "1444155421823733961",
      "type": "Default",
      "timestamp": "2025-11-29T02:38:03.673+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "* yes, all pads are the same size (the two bidi types, the input-only, and the power pads) so changing pad types does not change the pad coordinates\n* VDD/VSS need to be left alone to stay bond-compatible with the COBs; you can move them around if you don't rely on the default COB setup\n* One case you'd prefer input is for a global reset input, because you don't want that to spuriously enable its output driver during power-up. Pretty much everything else can be bidi\n* Tying off A = IE = OE = 0 is one option, you could also put a small hardcoded UART that prints a rude message",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444156615744946207",
      "type": "Default",
      "timestamp": "2025-11-29T02:42:48.326+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "awesome, thanks!\n\nAnd lol at the rude message \uD83D\uDE04",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE04",
          "code": "smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f604-BF863.svg"
        }
      ]
    },
    {
      "id": "1444157296195276870",
      "type": "Default",
      "timestamp": "2025-11-29T02:45:30.558+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Or any message. Spare chips could then be used to advertise \"BreakingTaps!\\r\\n\" at 9600bps. \uD83D\uDE0E",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE0E",
            "code": "sunglasses",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f60e-FF6EB.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE0E",
          "code": "sunglasses",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f60e-FF6EB.svg"
        }
      ]
    },
    {
      "id": "1444212516312973367",
      "type": "ThreadCreated",
      "timestamp": "2025-11-29T06:24:56.06+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "732347216412278825",
        "name": "urish",
        "discriminator": "0000",
        "nickname": "urish",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1444104751691333682",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444306062080737311",
      "type": "Reply",
      "timestamp": "2025-11-29T12:36:39.109+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "We need more silicon artwork!",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "274535015969456128",
          "name": "greg.hashtag.9468",
          "discriminator": "0000",
          "nickname": "Greg",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
        }
      ],
      "reference": {
        "messageId": "1444157296195276870",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444319338088890450",
      "type": "Default",
      "timestamp": "2025-11-29T13:29:24.356+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "On my GFMPW-1 multi-project die, giving an invalid project selection code causes the chip pins to become all outputs and go \"RTFM!\" in binary ASCII",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE00",
            "code": "grinning",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f600-F7528.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444339239826227260",
      "type": "Default",
      "timestamp": "2025-11-29T14:48:29.3+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Hm, so I added a few 256x8 SRAM macros and it seems unhappy about that now. At step 57 (klayout xor magic) I'm getting a slew of errors which seems to stem from:\n\n```\nFile /home/ubuntu/gf180mcu-project-template/gf180mcu/gf180mcuD/libs.ref/gf180mcu_fd_ip_sram/mag/M3_M24310590878114_256x8m81.mag couldn't be read\nFailure to read entire subtree of the cell.\n\nFailed on cell M3_M24310590878114_256x8m81.\nI/O error in writing file /home/ubuntu/gf180mcu-project-template/librelane/runs/RUN_2025-11-29_06-44-00/56-magic-streamout/chip_top.magic.gds.\nFile may be incompletely written. \n```",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444340022198272131",
      "type": "Reply",
      "timestamp": "2025-11-29T14:51:35.832+00:00",
      "timestampEdited": "2025-11-29T14:51:58.343+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Not positive, but it could possibly be related to:\n\nhttps://discord.com/channels/1361349522684510449/1423348662318272592/1443879406962610287",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1444339239826227260",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444340277669138593",
      "type": "Default",
      "timestamp": "2025-11-29T14:52:36.741+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "was just scrolling up to that. will give it a shot!",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444344602906591315",
      "type": "Default",
      "timestamp": "2025-11-29T15:09:47.958+00:00",
      "timestampEdited": "2025-11-29T16:45:53.462+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "while that's chugging along, what's the general road to fixing PVT violations? I guess the easiest fix is just dropping the clock right? any other config changes/tweaks, or is it mostly down to clock speed + layout + what the code is doing?\n\nEdit: related, how much should I care about the non-nominal PVT corners? if nominal looks good are you generally good to go, or is it pretty important to make sure the other corners are passing too?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444347436192501920",
      "type": "Default",
      "timestamp": "2025-11-29T15:21:03.466+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Another DRC clean build",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1444347435752095928",
          "url": "2025-11_media/chip_top_black-949ED.png",
          "fileName": "chip_top_black.png",
          "fileSizeBytes": 33525890
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 6,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            },
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "691780627338625077",
              "name": "rebelmike",
              "discriminator": "0000",
              "nickname": "RebelMike",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
            },
            {
              "id": "738396032295108721",
              "name": "bailey8889",
              "discriminator": "0000",
              "nickname": "bailey",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/0-EB806.png"
            },
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "Andrew Wingate",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            },
            {
              "id": "805909190333038612",
              "name": "trev5514",
              "discriminator": "0000",
              "nickname": "Trevor Peyton",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2-ADBB4.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDCAF",
            "code": "100",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f4af-4CFF5.svg"
          },
          "count": 3,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "732347216412278825",
              "name": "urish",
              "discriminator": "0000",
              "nickname": "urish",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
            },
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "Andrew Wingate",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444373290624880733",
      "type": "Reply",
      "timestamp": "2025-11-29T17:03:47.643+00:00",
      "timestampEdited": "2025-11-29T17:04:36.63+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "My understanding is that a hold violation will make the chip non functional, setup timing means it just can't operate at the set clock speed at those corners. I'd say it depends on your chips use case. If you expect the chip to never deviate from normal operation (no power supply issues) or in hot/cold temps then yes you can ignore them if you choose. However those corners cover cases when you say get a power supply surge/drop or the chip get's really hot/cold so they are very important if you don't assume ideal.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1444344602906591315",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444374757268000839",
      "type": "Default",
      "timestamp": "2025-11-29T17:09:37.318+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "makes sense! I'll focus on Holds. Probably easiest to just drop the clock rate, doesn't particularly matter anyway for a demo chip.\n\ni just found some docs on OpenLane which look helpful for improving my background knowledge too, and some config values to tweak: https://openlane2.readthedocs.io/en/latest/usage/timing_closure/index.html",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444374956283658352",
      "type": "Default",
      "timestamp": "2025-11-29T17:10:24.767+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Leo taught me that you should eliminate all hold violations in the different voltage domains, and that this is very important. Setup violations are a different matter — you can always deal with those later by adjusting the clock frequency.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444375663988703355",
      "type": "Default",
      "timestamp": "2025-11-29T17:13:13.497+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "noted! is there a shortlist of \"ways to fix\" that I should be aware of (other than what's at that openlane page)? I'm so new to this I don't really know what knobs are available \uD83E\uDEE0",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83E\uDEE0",
          "code": "\uD83E\uDEE0",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1fae0-D00A5.svg"
        }
      ]
    },
    {
      "id": "1444375964048953414",
      "type": "Default",
      "timestamp": "2025-11-29T17:14:25.037+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You won’t believe it, I’m a newbie too.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE00",
            "code": "grinning",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f600-F7528.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444376199647461376",
      "type": "Default",
      "timestamp": "2025-11-29T17:15:21.208+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "but Leo has helped me a lot.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444376333831372880",
      "type": "Default",
      "timestamp": "2025-11-29T17:15:53.2+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And luke",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444387340993822750",
      "type": "Default",
      "timestamp": "2025-11-29T17:59:37.512+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It turns out the C64 SID has two built-in ADCs, which I am trying to replicate in my recreation of it as well. Interestingly, they are implemented using just digital logic cells because they’re not true ADCs and are more like....resistance to digital converters. Each ADC pin requires a capacitor and resistor (usually a potentiometer) connected to it. The chip runs a loop of pulling those pins low for a bit, before tri-state-inputing them and running a timer until they register a logic one.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444387450330808331",
      "type": "Default",
      "timestamp": "2025-11-29T18:00:03.58+00:00",
      "timestampEdited": "2025-11-29T18:00:11.439+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Obviously, this depends on the RC circuit’s time constant.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444387597253083248",
      "type": "Default",
      "timestamp": "2025-11-29T18:00:38.609+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Fixing the resistor to measure the capacitance also works.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444387717625675897",
      "type": "Default",
      "timestamp": "2025-11-29T18:01:07.308+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Maybe someone here will find this trick useful.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "Andrew Wingate",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444411549853683732",
      "type": "Reply",
      "timestamp": "2025-11-29T19:35:49.354+00:00",
      "timestampEdited": "2025-11-29T22:41:54.708+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That mechanism is also similar readout mechanism for potentiometers in paddle controllers - in Atari Pokey chip and Atari 2600 TIA chip!",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1444387340993822750",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444412997740265572",
      "type": "Reply",
      "timestamp": "2025-11-29T19:41:34.557+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Please check out the LibreLane docs: https://librelane.readthedocs.io/en/latest/\nLibreLane is the successor to OpenLane 2, so the docs should be more up to date :)",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1444374757268000839",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444413233094987876",
      "type": "Reply",
      "timestamp": "2025-11-29T19:42:30.67+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "First thing would be to look at the clock tree in OpenROAD GUI to see if it's reasonably balanced.\nIf that's the case, then increasing the hold slack margin should mostly resolve the hold violations.\nIf there are still some remaining, taking a closer look at the timing paths can be helpful.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1444375663988703355",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444427568815280350",
      "type": "Reply",
      "timestamp": "2025-11-29T20:39:28.572+00:00",
      "timestampEdited": "2025-11-29T20:48:53.108+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "these docs are great, giving them a thorough read-through now. Project template request as complete newbie: I see the docs are linked for nix install, but I _totally_ missed that it also included more general documentation about the build process. \uD83D\uDE05  maybe a subsection heading that's basically \"If you have questions about build output read these docs\" ?\n\nfollowup questions: how do i judge if the clock tree is balanced? Just visually, seeing if it branches somewhat-nicely?\n\nditto to how should I check timing paths?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1444413233094987876",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1444428050035900417",
      "type": "Default",
      "timestamp": "2025-11-29T20:41:23.304+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "here's where I'm at currently. Pretty substantially bad on the ss cases but I think trending towards ok everywhere else?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [
        {
          "id": "1444428049847418971",
          "url": "2025-11_media/Screenshot_From_2025-11-29_12-20-42-C101E.png",
          "fileName": "Screenshot_From_2025-11-29_12-20-42.png",
          "fileSizeBytes": 31398
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444432848244183101",
      "type": "Default",
      "timestamp": "2025-11-29T21:00:27.286+00:00",
      "timestampEdited": "2025-11-29T21:00:45.82+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(hmm I do see that the clock line initially has to wind all the way from bottom left up through a bunch of sram blocks. Can probably re-configure everything so the logic is down in the clock corner)",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [
        {
          "id": "1444432848005103839",
          "url": "2025-11_media/image-D6548.png",
          "fileName": "image.png",
          "fileSizeBytes": 312714
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "756011607603019777",
              "name": "anfroholic",
              "discriminator": "0000",
              "nickname": "Andrew Wingate",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/67bd670a335a2f955fb2ded57088a2cb-675B3.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444436170066100396",
      "type": "Default",
      "timestamp": "2025-11-29T21:13:39.27+00:00",
      "timestampEdited": "2025-11-29T21:16:50.686+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I meant to ask this a while ago but forgot is anyone using cocotb tb with SRAM and passing? I'm using verilator and I get quite a few complaints.\n\n```\ngf180mcu_fd_ip_sram__sram512x8m8wm1.v:132:28: Unsupported: minimum/typical/maximum delay expressions. Using the typical delay\n  132 |   specparam Tcyc = 55600 : 55600 : 55600;\n      |       \n```\n\nThis is a typical error. I got this weeks ago and replaced the entire sram section with those with a:\n\n```verilog\n`ifndef VERILATOR\n  specparam Tcyc = 55600 : 55600 : 55600;\n...\n`endif\n``` \n\nThen outside the specify block I did:\n\n```verilog\n`ifdef VERILATOR\n  parameter Tcyc = 8183;\n  parameter Tckh = 4000;\n  parameter Tckl = 4000;\n...\n`endif\n```\n\nIs there a better way? Since now it's failing all github deployments automatically since it's using the repo direct and not my local changes.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444439967647400008",
      "type": "Default",
      "timestamp": "2025-11-29T21:28:44.684+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Is LVS of the foundry io pads able to pass using the netgen LVS script from the project template?\nThe netgen script we have is causing issues with the pads (see questions channel \"Running LVS for padframe\")",
      "author": {
        "id": "378788837452677120",
        "name": "asc9742",
        "discriminator": "0000",
        "nickname": "asc",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444442881359216772",
      "type": "Default",
      "timestamp": "2025-11-29T21:40:19.367+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I know you can pass parameters to verilog modules during instantiation, but is it possible to then use those parameters inside the module to do conditional compilation?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444442940104773642",
      "type": "Default",
      "timestamp": "2025-11-29T21:40:33.373+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I need to `ifdef exclude some stuff in a module, but only during one specific instantiation of it.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444448709109616660",
      "type": "Reply",
      "timestamp": "2025-11-29T22:03:28.811+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Try `gds flatglob`ing these cells before reading the gds in magic\n```\n*Bondpad*\n*CLAMP_COR*\n*FILL*\n*METAL_RAIL*\n*NMOS_*\n*POWER_RAIL_COR*\n*_BASE*\n*comp018green*  \n*diode_nd2ps_06v0_*[A-Z]*\n*diode_pd2nw_06v0_*[A-Z]*\n*mim_*_*[A-Z]*  \n*moscap_*\n*nmos_*_*[A-Z]* \n*nmos_4T_metal_stack*\n*nmos_clamp_*   \n*pmos_6p0_esd_* \n*power_via*     \n*ppolyf_u_*[A-Z]*\n*top_route*     \n```",
      "author": {
        "id": "738396032295108721",
        "name": "bailey8889",
        "discriminator": "0000",
        "nickname": "bailey",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/0-EB806.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "378788837452677120",
          "name": "asc9742",
          "discriminator": "0000",
          "nickname": "asc",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/3-FB033.png"
        }
      ],
      "reference": {
        "messageId": "1444439967647400008",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444464792676073514",
      "type": "Reply",
      "timestamp": "2025-11-29T23:07:23.432+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Do you mean like this?\n\nhttps://stackoverflow.com/questions/52061466/verilog-conditional-hardware-based-on-parameter-value",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "Verilog conditional hardware based on parameter value",
          "url": "https://stackoverflow.com/questions/52061466/verilog-conditional-hardware-based-on-parameter-value",
          "timestamp": null,
          "description": "Is it possible to create conditional hardware in Verilog depending on the value of a parameter? Something like this\n\nmodule test #(\n parameter param = 1\n)(\n  input wire clk\n);\n\nreg[3:0] counter = 0;",
          "thumbnail": {
            "url": "2025-11_media/apple-touch-icon%402-3834B.png",
            "width": 316,
            "height": 316
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1444442940104773642",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444485291762122782",
      "type": "Reply",
      "timestamp": "2025-11-30T00:28:50.795+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Dear @LukeW , @Leo Moser (mole99) \n\nThe previous code corrupted the entire netlist for the control signals. I checked your riscvboy-180 implementation and saw that your anchor tricky style approach works for synthesis.  Can I  simply declare rst_pad as a false path in sdc?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444485291468394597",
          "url": "2025-11_media/image-5D7D1.png",
          "fileName": "image.png",
          "fileSizeBytes": 804681
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        },
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1443665412062576640",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444485891614703657",
      "type": "Default",
      "timestamp": "2025-11-30T00:31:13.811+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444485891304194178",
          "url": "2025-11_media/message-723E6.txt",
          "fileName": "message.txt",
          "fileSizeBytes": 6252
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444491609482989579",
      "type": "Reply",
      "timestamp": "2025-11-30T00:53:57.057+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Would an `if` inside a `generate` block do what you need?",
      "author": {
        "id": "691780627338625077",
        "name": "rebelmike",
        "discriminator": "0000",
        "nickname": "RebelMike",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1444442881359216772",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444491798742565007",
      "type": "Default",
      "timestamp": "2025-11-30T00:54:42.18+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444505785517477938",
      "type": "Default",
      "timestamp": "2025-11-30T01:50:16.887+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "During gate-level simulation I found that **CEN has to remain high for one clock cycle**. I had previously hardwired it to 0, but I’ve now combined it with `reset_n`, so the SRAM is operational.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444505785273942097",
          "url": "2025-11_media/image-1AA63.png",
          "fileName": "image.png",
          "fileSizeBytes": 530450
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444505853620256809",
      "type": "Default",
      "timestamp": "2025-11-30T01:50:33.124+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444505853339242546",
          "url": "2025-11_media/image-638B3.png",
          "fileName": "image.png",
          "fileSizeBytes": 79890
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444505995224158380",
      "type": "Reply",
      "timestamp": "2025-11-30T01:51:06.885+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I am fairly certain the `cen_fell` thing is a bug in the RAM model where they don't initialise all of their variables",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1444505785517477938",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444506147498496050",
      "type": "Default",
      "timestamp": "2025-11-30T01:51:43.19+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444506147167010910",
          "url": "2025-11_media/image-A2BF5.png",
          "fileName": "image.png",
          "fileSizeBytes": 25886
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444506416873214054",
      "type": "Reply",
      "timestamp": "2025-11-30T01:52:47.414+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah maybe I had a separate issue which is the model doesn't accept the first access if you start up with CSn high",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1444506147498496050",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444506515883954306",
      "type": "Default",
      "timestamp": "2025-11-30T01:53:11.02+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I haven't looked at the schematic for the SRAM but that would be a super weird requirement \uD83E\uDD14",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83E\uDD14",
          "code": "thinking",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f914-15707.svg"
        }
      ]
    },
    {
      "id": "1444506618460110878",
      "type": "Default",
      "timestamp": "2025-11-30T01:53:35.476+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "My caches are working!",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "492702620759228416",
              "name": "mattvenn",
              "discriminator": "0000",
              "nickname": "Matt Venn",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/aa8560ba40f1f3d339d044dee6970630-97A62.png"
            },
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444506632007585792",
      "type": "Reply",
      "timestamp": "2025-11-30T01:53:38.706+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yes IMO it's ok to falsepath the reset pad input since it's synchronised before use",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1444485291762122782",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444506885465047124",
      "type": "Default",
      "timestamp": "2025-11-30T01:54:39.135+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I was able to boot from flash, copy the code into SDRAM, and execute it via micron sdram model.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444506933393490032",
      "type": "Default",
      "timestamp": "2025-11-30T01:54:50.562+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "nice",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444507126469886022",
      "type": "Default",
      "timestamp": "2025-11-30T01:55:36.595+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444507126008516628",
          "url": "2025-11_media/image-B7C8B.png",
          "fileName": "image.png",
          "fileSizeBytes": 35590
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444507193654382824",
      "type": "Default",
      "timestamp": "2025-11-30T01:55:52.613+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) those 0.5 x 0.5 slots are so cute \uD83E\uDD7A  think they would be a great gate-golf target",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83E\uDD7A",
          "code": "pleading_face",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f97a-1F57B.svg"
        }
      ]
    },
    {
      "id": "1444507193822150696",
      "type": "Default",
      "timestamp": "2025-11-30T01:55:52.653+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I got the model from you Luke 2022 \uD83D\uDE42",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1444507407165161624",
      "type": "Default",
      "timestamp": "2025-11-30T01:56:43.518+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "how did we choose the number of VDD/VSS pins? seems to  have like 75% the IOs of the 1x1 but < 50% the power and ground pins",
      "author": {
        "id": "803213471402688522",
        "name": "_luke_w_",
        "discriminator": "0000",
        "nickname": "LukeW",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444508779319132332",
      "type": "Reply",
      "timestamp": "2025-11-30T02:02:10.665+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "FYI for my application, SRAM should remain on once started, I added a small prime latch where on reset, it toggles the CEN for a cycle to ensure it's always started.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1444506147498496050",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444509157792153814",
      "type": "Reply",
      "timestamp": "2025-11-30T02:03:40.9+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "that was my fix!",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444509157414670376",
          "url": "2025-11_media/image-F0EB1.png",
          "fileName": "image.png",
          "fileSizeBytes": 68156
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "805909190333038612",
              "name": "trev5514",
              "discriminator": "0000",
              "nickname": "Trevor Peyton",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2-ADBB4.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "805909190333038612",
          "name": "trev5514",
          "discriminator": "0000",
          "nickname": "Trevor Peyton",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/2-ADBB4.png"
        }
      ],
      "reference": {
        "messageId": "1444508779319132332",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444516403263836284",
      "type": "Default",
      "timestamp": "2025-11-30T02:32:28.355+00:00",
      "timestampEdited": "2025-11-30T02:32:55.765+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Does anyone have a simple SD card Verilog model for iverilog? I only need SPI support, then I could try booting xv6 Unix.",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444516403343392829",
          "url": "2025-11_media/image-A6D2A.png",
          "fileName": "image.png",
          "fileSizeBytes": 60714
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444592512705761281",
      "type": "Default",
      "timestamp": "2025-11-30T07:34:54.26+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Looks like it's coming together. This is an updated serv soc design.\n28 cores, with each processor making use of the SRAM block for registerfile/program text and ram.\nA small FSM pre-loads each cores memory from SPI flash. (similar to an FPGAs bitstream)\nThe cores are connected via a cross-bar to peripherals. One of which enables core to core communication, via queues or flags.",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [
        {
          "id": "1444592512579665922",
          "url": "2025-11_media/chip_top_black-B7C64.png",
          "fileName": "chip_top_black.png",
          "fileSizeBytes": 3037825
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDF89",
            "code": "tada",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f389-5C738.svg"
          },
          "count": 4,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "492702620759228416",
              "name": "mattvenn",
              "discriminator": "0000",
              "nickname": "Matt Venn",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/aa8560ba40f1f3d339d044dee6970630-97A62.png"
            },
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            },
            {
              "id": "691780627338625077",
              "name": "rebelmike",
              "discriminator": "0000",
              "nickname": "RebelMike",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "492702620759228416",
              "name": "mattvenn",
              "discriminator": "0000",
              "nickname": "Matt Venn",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/aa8560ba40f1f3d339d044dee6970630-97A62.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444593348244541545",
      "type": "Default",
      "timestamp": "2025-11-30T07:38:13.468+00:00",
      "timestampEdited": "2025-11-30T07:38:25.383+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Given the logic density, I think I could fit 32 cores in there... But didn't want to hit a wall with routing.",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444593977549651989",
      "type": "Default",
      "timestamp": "2025-11-30T07:40:43.506+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "A cross-bar between every core isn't a very scalable solution. But gives a lot of flexibility to the application",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444610132909752462",
      "type": "Default",
      "timestamp": "2025-11-30T08:44:55.244+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "CoreScore style @Greg ?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "274535015969456128",
          "name": "greg.hashtag.9468",
          "discriminator": "0000",
          "nickname": "Greg",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444610376342966359",
      "type": "Default",
      "timestamp": "2025-11-30T08:45:53.283+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [
        {
          "id": "1444610376112148501",
          "url": "2025-11_media/Screenshot_20251130_094540_Chrome-51801.jpg",
          "fileName": "Screenshot_20251130_094540_Chrome.jpg",
          "fileSizeBytes": 13387
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444610577375694871",
      "type": "Default",
      "timestamp": "2025-11-30T08:46:41.213+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I did take a look at corescore. We can probably make this the highest ranking serv ASIC on that list \uD83D\uDE09",
      "author": {
        "id": "274535015969456128",
        "name": "greg.hashtag.9468",
        "discriminator": "0000",
        "nickname": "Greg",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE00",
            "code": "grinning",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f600-F7528.svg"
          },
          "count": 3,
          "users": [
            {
              "id": "228329196504481793",
              "name": "nxmq99",
              "discriminator": "0000",
              "nickname": "nxmq99",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a894465ce64c0d99a11e309c80c403db-DA6C3.png"
            },
            {
              "id": "492702620759228416",
              "name": "mattvenn",
              "discriminator": "0000",
              "nickname": "Matt Venn",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/aa8560ba40f1f3d339d044dee6970630-97A62.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE09",
          "code": "wink",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f609-9EC67.svg"
        }
      ]
    },
    {
      "id": "1444613444996173884",
      "type": "Reply",
      "timestamp": "2025-11-30T08:58:04.907+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99)",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        },
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1444507407165161624",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444645005519098027",
      "type": "Reply",
      "timestamp": "2025-11-30T11:03:29.522+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Thanks Hirosh, I did see the question, I just haven't had time to reply yet :)",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1444613444996173884",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444645136071131269",
      "type": "Reply",
      "timestamp": "2025-11-30T11:04:00.648+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The default pinout of the 1x1 slot is based on the TT chip: https://docs.google.com/spreadsheets/d/1sZCpz6yy-bHGaV2BVG4IZOLBWn--WIddM9pkCQm_Vyc/edit?gid=0#gid=0\nA number of the VDD/VSS pads will be used for the analog power domain in the future.\n\nIn addition, the core are of the 0p5x0p5 chip is less than a quarter of that of the 1x1 chip. That's why I reduced the number of power/ground pads considerably.\nIt may turn out that this is not enough to support the number of I/Os at high speeds, so we might change that again for run 2.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "803213471402688522",
          "name": "_luke_w_",
          "discriminator": "0000",
          "nickname": "LukeW",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
        }
      ],
      "reference": {
        "messageId": "1444507407165161624",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444676303725920267",
      "type": "Default",
      "timestamp": "2025-11-30T13:07:51.596+00:00",
      "timestampEdited": "2025-11-30T13:08:14.787+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Z80 in a **quarter** slot. I think it is cute!",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [
        {
          "id": "1444676303763538102",
          "url": "2025-11_media/image-87C55.png",
          "fileName": "image.png",
          "fileSizeBytes": 1149992
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 3,
          "users": [
            {
              "id": "543162393413287956",
              "name": "h.tamas",
              "discriminator": "0000",
              "nickname": "htamas",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            },
            {
              "id": "738396032295108721",
              "name": "bailey8889",
              "discriminator": "0000",
              "nickname": "bailey",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/0-EB806.png"
            },
            {
              "id": "805909190333038612",
              "name": "trev5514",
              "discriminator": "0000",
              "nickname": "Trevor Peyton",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2-ADBB4.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 3,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "469746297906397215",
              "name": "possible_realities",
              "discriminator": "0000",
              "nickname": "toivoh",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83C\uDDFF",
            "code": "regional_indicator_z",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f1ff-94439.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "732347216412278825",
              "name": "urish",
              "discriminator": "0000",
              "nickname": "urish",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "8️⃣",
            "code": "eight",
            "isAnimated": false,
            "imageUrl": "2025-11_media/38-20e3-03431.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "732347216412278825",
              "name": "urish",
              "discriminator": "0000",
              "nickname": "urish",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "0️⃣",
            "code": "zero",
            "isAnimated": false,
            "imageUrl": "2025-11_media/30-20e3-EC5F3.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "732347216412278825",
              "name": "urish",
              "discriminator": "0000",
              "nickname": "urish",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2b6c3aac0ae09fc8a72a4b2e17d7f9c9-39032.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83E\uDD7A",
            "code": "pleading_face",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f97a-1F57B.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "803213471402688522",
              "name": "_luke_w_",
              "discriminator": "0000",
              "nickname": "LukeW",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/a2f98861602ee8229f4eb87d5c25d1b1-5FBF4.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444677015532863601",
      "type": "Default",
      "timestamp": "2025-11-30T13:10:41.304+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Leo Moser (mole99) quarter slot works! \uD83D\uDE42",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1444682168289726667",
      "type": "Default",
      "timestamp": "2025-11-30T13:31:09.817+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I noticed the project template SDC file has `set_input_delay -min 0 -clock $clocks $clk_core_input_ports` which sets the hold time on the inputs to zero.  I think that's may be why you've had to turn up the hold slack margin, because it means a bunch of buffering is required on the inputs which is a bit difficult for the flow to get right.",
      "author": {
        "id": "691780627338625077",
        "name": "rebelmike",
        "discriminator": "0000",
        "nickname": "RebelMike",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444690601001095249",
      "type": "Reply",
      "timestamp": "2025-11-30T14:04:40.332+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Make sure to also check that the actual timing of the clock tree in the \"Clock Tree Viewer\".\n\nThis shows the example template where the design is quite sparse so there's a lot of routing between the clock buffers and after SPEF extraction the tree isn't as balanced as it should be (that's why I had to increase the hold margin).",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [
        {
          "id": "1444690600627535922",
          "url": "2025-11_media/Bildschirmfoto_vom_2025-11-30_14-50-47-CC69A.png",
          "fileName": "Bildschirmfoto_vom_2025-11-30_14-50-47.png",
          "fileSizeBytes": 397706
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "691780627338625077",
              "name": "rebelmike",
              "discriminator": "0000",
              "nickname": "RebelMike",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/49aaff687e56f04e7bbdedf0077bab75-7DDB4.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1444427568815280350",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444691372127948871",
      "type": "Default",
      "timestamp": "2025-11-30T14:07:44.183+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "For a detailed report on the timing paths, take a look at `librelane/runs/<timestamp>/54-openroad-stapostpnr/<corner>/` and open `min.rpt`/`max.rpt` for hold/setup checks.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444692219859701922",
      "type": "Reply",
      "timestamp": "2025-11-30T14:11:06.298+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Have you implemented PIO and SIO?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "538398807986274304",
          "name": "rzioma",
          "discriminator": "0000",
          "nickname": "ReJ aka Renaldas Zioma",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
        }
      ],
      "reference": {
        "messageId": "1444676303725920267",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444693940602404925",
      "type": "Reply",
      "timestamp": "2025-11-30T14:17:56.555+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Well, I looked at a bunch of Z80 computers from back in the day… and I couldn’t find almost a single one that would use Zilog’s PIO/SIO.\n\nSo I am actually thinking to focus on ZX Spectrum like machine repairs and put ULA (graphics) and AY (audio) instead.",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "840182560252624916",
          "name": "logic_destroyer",
          "discriminator": "0000",
          "nickname": "asic destroyer",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
        }
      ],
      "reference": {
        "messageId": "1444692219859701922",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444694125717884948",
      "type": "Default",
      "timestamp": "2025-11-30T14:18:40.69+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If I am missing some, let me know plz!",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444694178218119261",
      "type": "Default",
      "timestamp": "2025-11-30T14:18:53.207+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I have no idea \uD83D\uDE42",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1444694445470781530",
      "type": "Default",
      "timestamp": "2025-11-30T14:19:56.925+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Plus 16KB of RAM if I go full slot.",
      "author": {
        "id": "538398807986274304",
        "name": "rzioma",
        "discriminator": "0000",
        "nickname": "ReJ aka Renaldas Zioma",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE2E",
            "code": "open_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f62e-FE396.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444701239190487153",
      "type": "Reply",
      "timestamp": "2025-11-30T14:46:56.674+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "aha, didn't know that little widget existed in the gui, cheers! Didn't see the timing report tab either. looking through the violators now, looks like my ALU is popping up in the list which is interesting. didn't think I had anything particularly expensive in there but will give examine it closer.\n\nthanks for all th ehelp!",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4F",
            "code": "clap",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44f-3D381.svg"
          },
          "count": 2,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1444690601001095249",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444714101807775874",
      "type": "Default",
      "timestamp": "2025-11-30T15:38:03.361+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Just one more design. I can still fit more. I can do just one more design!",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [
        {
          "id": "1444714101497532566",
          "url": "2025-11_media/chip_top_black-D1C61.png",
          "fileName": "chip_top_black.png",
          "fileSizeBytes": 36025218
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2025-11_media/2764-A3D25.svg"
          },
          "count": 4,
          "users": [
            {
              "id": "469746297906397215",
              "name": "possible_realities",
              "discriminator": "0000",
              "nickname": "toivoh",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/1-B2132.png"
            },
            {
              "id": "538398807986274304",
              "name": "rzioma",
              "discriminator": "0000",
              "nickname": "ReJ aka Renaldas Zioma",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/f2ec4a3c78aa64de4ebf8efb563cc011-91657.png"
            },
            {
              "id": "805909190333038612",
              "name": "trev5514",
              "discriminator": "0000",
              "nickname": "Trevor Peyton",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/2-ADBB4.png"
            },
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4F",
            "code": "clap",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44f-3D381.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "274535015969456128",
              "name": "greg.hashtag.9468",
              "discriminator": "0000",
              "nickname": "Greg",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444739232311546016",
      "type": "Default",
      "timestamp": "2025-11-30T17:17:54.94+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I think I’m a little behind. I still have not submitted any GDSIIs and let precheck run.",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444739246379241624",
      "type": "Default",
      "timestamp": "2025-11-30T17:17:58.294+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "How do I even do this?",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444743372584652900",
      "type": "Reply",
      "timestamp": "2025-11-30T17:34:22.058+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can do it locally:\nhttps://github.com/wafer-space/gf180mcu-precheck\n\nBut I believe the test project is where we will end up submitting which just runs that on a server:\nhttps://doc.test-platform.wafer.space\n\nI'd do it locally, mine timed out on the website.",
      "author": {
        "id": "805909190333038612",
        "name": "trev5514",
        "discriminator": "0000",
        "nickname": "Trevor Peyton",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/2-ADBB4.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "GitHub - wafer-space/gf180mcu-precheck: Precheck for wafer.space MP...",
          "url": "https://github.com/wafer-space/gf180mcu-precheck",
          "timestamp": null,
          "description": "Precheck for wafer.space MPW runs using the gf180mcu PDK  - GitHub - wafer-space/gf180mcu-precheck: Precheck for wafer.space MPW runs using the gf180mcu PDK",
          "color": "#1E2327",
          "images": [],
          "fields": [],
          "inlineEmojis": []
        },
        {
          "title": "Welcome to wafer.space\n…",
          "url": "https://doc.test-platform.wafer.space/",
          "timestamp": null,
          "description": "Platform for wafer.space low cost silicon manufacturing.",
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "220639106915368960",
          "name": "tholin",
          "discriminator": "0000",
          "nickname": "Tholin",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
        }
      ],
      "reference": {
        "messageId": "1444739232311546016",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444815823750562053",
      "type": "Default",
      "timestamp": "2025-11-30T22:22:15.762+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It would be nice to run the SPICE model. I could run it on a remote server and check what it does after a year. How can I run something like that in SPICE?",
      "author": {
        "id": "840182560252624916",
        "name": "logic_destroyer",
        "discriminator": "0000",
        "nickname": "asic destroyer",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444828491215278272",
      "type": "Default",
      "timestamp": "2025-11-30T23:12:35.921+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I tried to use the online platform, but it just keeps cycling between \"Queued\" and \"Starting\"",
      "author": {
        "id": "220639106915368960",
        "name": "tholin",
        "discriminator": "0000",
        "nickname": "Tholin",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/edae5aadf146133e0448bfb1f0fa91c4-62B19.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    }
  ],
  "messageCount": 654
}